From edff34b548db49e94db2b6548adc95cc6001dcf5 Mon Sep 17 00:00:00 2001 From: yehudah Date: Sun, 15 Oct 2017 06:46:12 +0000 Subject: release git-svn-id: https://plugins.svn.wordpress.org/post-smtp/trunk@1746635 b8457f37-d9ea-0310-8a92-e5e31aec5664 --- .../PostmanAbstractAuthenticationManager.php | 168 + .../Postman-Auth/PostmanAuthenticationManager.php | 15 + .../PostmanAuthenticationManagerFactory.php | 55 + .../PostmanGoogleAuthenticationManager.php | 119 + .../PostmanMicrosoftAuthenticationManager.php | 104 + .../PostmanNonOAuthAuthenticationManager.php | 43 + .../PostmanStateIdMissingException.php | 5 + .../PostmanYahooAuthenticationManager.php | 133 + .../PostmanConfigurationController.php | 694 ++ .../PostmanImportableConfiguration.php | 576 + .../PostmanRegisterConfigurationSettings.php | 407 + .../Postman-Configuration/PostmanSmtpDiscovery.php | 233 + .../Postman-Configuration/postman_manual_config.js | 78 + Postman/Postman-Configuration/postman_wizard.js | 569 + .../Postman-Connectivity-Test/Postman-PortTest.php | 282 + .../PostmanConnectivityTestController.php | 312 + .../Postman-Connectivity-Test/postman_port_test.js | 332 + .../registered-domain-libs-master/.gitignore | 3 + .../PHP/effectiveTLDs.inc.php | 6484 ++++++++++ .../PHP/regDomain.class.php | 120 + .../PHP/regDomain.inc.php | 62 + .../PHP/test-regDomain.php | 51 + .../registered-domain-libs-master/README.txt | 56 + .../generateEffectiveTLDs.php | 213 + Postman/Postman-Controller/PostmanAdminPointer.php | 107 + .../PostmanDashboardWidgetController.php | 157 + .../PostmanManageConfigurationAjaxHandler.php | 55 + .../PostmanDiagnosticTestController.php | 275 + .../Postman-Diagnostic-Test/postman_diagnostics.js | 18 + .../PostmanEmailLogController.php | 356 + .../Postman-Email-Log/PostmanEmailLogPostType.php | 48 + .../Postman-Email-Log/PostmanEmailLogService.php | 279 + Postman/Postman-Email-Log/PostmanEmailLogView.php | 419 + .../Postman-Mail/PostmanDefaultModuleTransport.php | 164 + Postman/Postman-Mail/PostmanEmailAddress.php | 91 + .../PostmanGmailApiModuleTransport.php | 258 + .../PostmanGmailApiModuleZendMailTransport.php | 244 + Postman/Postman-Mail/PostmanMailEngine.php | 10 + Postman/Postman-Mail/PostmanMandrillMailEngine.php | 235 + Postman/Postman-Mail/PostmanMandrillTransport.php | 276 + Postman/Postman-Mail/PostmanMessage.php | 564 + Postman/Postman-Mail/PostmanModuleTransport.php | 748 ++ Postman/Postman-Mail/PostmanMyMailConnector.php | 222 + Postman/Postman-Mail/PostmanSendGridMailEngine.php | 200 + Postman/Postman-Mail/PostmanSendGridTransport.php | 227 + .../Postman-Mail/PostmanSmtpModuleTransport.php | 589 + Postman/Postman-Mail/PostmanTransportRegistry.php | 237 + Postman/Postman-Mail/PostmanZendMailEngine.php | 245 + ...ostmanZendMailTransportConfigurationFactory.php | 129 + Postman/Postman-Mail/Zend-1.12.10/Exception.php | 96 + Postman/Postman-Mail/Zend-1.12.10/Loader.php | 343 + .../Zend-1.12.10/Loader/Autoloader.php | 589 + Postman/Postman-Mail/Zend-1.12.10/Mail.php | 1279 ++ .../Postman-Mail/Zend-1.12.10/Mail/Exception.php | 37 + Postman/Postman-Mail/Zend-1.12.10/Mail/Message.php | 112 + .../Zend-1.12.10/Mail/Message/File.php | 96 + .../Zend-1.12.10/Mail/Message/Interface.php | 55 + .../Postman-Mail/Zend-1.12.10/Mail/Part/File.php | 198 + .../Zend-1.12.10/Mail/Part/Interface.php | 136 + .../Zend-1.12.10/Mail/Protocol/Abstract.php | 453 + .../Zend-1.12.10/Mail/Protocol/Exception.php | 39 + .../Zend-1.12.10/Mail/Protocol/Imap.php | 838 ++ .../Zend-1.12.10/Mail/Protocol/Pop3.php | 472 + .../Zend-1.12.10/Mail/Protocol/Smtp.php | 443 + .../Mail/Protocol/Smtp/Auth/Crammd5.php | 108 + .../Zend-1.12.10/Mail/Protocol/Smtp/Auth/Login.php | 98 + .../Mail/Protocol/Smtp/Auth/Oauth2.php | 78 + .../Zend-1.12.10/Mail/Protocol/Smtp/Auth/Plain.php | 96 + Postman/Postman-Mail/Zend-1.12.10/Mail/Storage.php | 39 + .../Zend-1.12.10/Mail/Storage/Abstract.php | 366 + .../Zend-1.12.10/Mail/Storage/Exception.php | 39 + .../Zend-1.12.10/Mail/Storage/Folder.php | 236 + .../Zend-1.12.10/Mail/Storage/Folder/Interface.php | 60 + .../Zend-1.12.10/Mail/Storage/Folder/Maildir.php | 265 + .../Zend-1.12.10/Mail/Storage/Folder/Mbox.php | 264 + .../Zend-1.12.10/Mail/Storage/Imap.php | 644 + .../Zend-1.12.10/Mail/Storage/Maildir.php | 475 + .../Zend-1.12.10/Mail/Storage/Mbox.php | 447 + .../Zend-1.12.10/Mail/Storage/Pop3.php | 328 + .../Mail/Storage/Writable/Interface.php | 108 + .../Zend-1.12.10/Mail/Storage/Writable/Maildir.php | 1049 ++ .../Zend-1.12.10/Mail/Transport/Abstract.php | 350 + .../Zend-1.12.10/Mail/Transport/Exception.php | 39 + .../Zend-1.12.10/Mail/Transport/File.php | 134 + .../Zend-1.12.10/Mail/Transport/Sendmail.php | 220 + .../Zend-1.12.10/Mail/Transport/Smtp.php | 247 + Postman/Postman-Mail/Zend-1.12.10/Mime.php | 670 + Postman/Postman-Mail/Zend-1.12.10/Mime/Decode.php | 276 + .../Postman-Mail/Zend-1.12.10/Mime/Exception.php | 36 + Postman/Postman-Mail/Zend-1.12.10/Mime/Message.php | 305 + Postman/Postman-Mail/Zend-1.12.10/Mime/Part.php | 333 + Postman/Postman-Mail/Zend-1.12.10/Registry.php | 209 + Postman/Postman-Mail/Zend-1.12.10/Validate.php | 290 + .../Zend-1.12.10/Validate/Abstract.php | 483 + .../Postman-Mail/Zend-1.12.10/Validate/Alnum.php | 149 + .../Postman-Mail/Zend-1.12.10/Validate/Alpha.php | 149 + .../Postman-Mail/Zend-1.12.10/Validate/Barcode.php | 227 + .../Postman-Mail/Zend-1.12.10/Validate/Between.php | 224 + .../Zend-1.12.10/Validate/Callback.php | 173 + .../Postman-Mail/Zend-1.12.10/Validate/Ccnum.php | 112 + .../Zend-1.12.10/Validate/CreditCard.php | 319 + .../Postman-Mail/Zend-1.12.10/Validate/Date.php | 258 + .../Postman-Mail/Zend-1.12.10/Validate/Digits.php | 91 + .../Zend-1.12.10/Validate/EmailAddress.php | 574 + .../Zend-1.12.10/Validate/Exception.php | 34 + .../Postman-Mail/Zend-1.12.10/Validate/Float.php | 135 + .../Zend-1.12.10/Validate/GreaterThan.php | 124 + Postman/Postman-Mail/Zend-1.12.10/Validate/Hex.php | 72 + .../Zend-1.12.10/Validate/Hostname.php | 1663 +++ .../Zend-1.12.10/Validate/Hostname/Biz.php | 2917 +++++ .../Zend-1.12.10/Validate/Hostname/Cn.php | 2199 ++++ .../Zend-1.12.10/Validate/Hostname/Com.php | 196 + .../Zend-1.12.10/Validate/Hostname/Jp.php | 739 ++ .../Postman-Mail/Zend-1.12.10/Validate/Iban.php | 250 + .../Zend-1.12.10/Validate/Identical.php | 164 + .../Postman-Mail/Zend-1.12.10/Validate/InArray.php | 204 + Postman/Postman-Mail/Zend-1.12.10/Validate/Int.php | 149 + .../Zend-1.12.10/Validate/Interface.php | 54 + Postman/Postman-Mail/Zend-1.12.10/Validate/Ip.php | 192 + .../Postman-Mail/Zend-1.12.10/Validate/Isbn.php | 278 + .../Zend-1.12.10/Validate/LessThan.php | 122 + .../Zend-1.12.10/Validate/NotEmpty.php | 279 + .../Zend-1.12.10/Validate/PostCode.php | 210 + .../Postman-Mail/Zend-1.12.10/Validate/Regex.php | 146 + .../Zend-1.12.10/Validate/StringLength.php | 263 + .../google-api-php-client-1.1.2/.gitignore | 1 + .../google-api-php-client-1.1.2/.travis.yml | 26 + .../google-api-php-client-1.1.2/CONTRIBUTING.md | 22 + .../google-api-php-client-1.1.2/LICENSE | 203 + .../google-api-php-client-1.1.2/README.md | 81 + .../google-api-php-client-1.1.2/autoload.php | 41 + .../google-api-php-client-1.1.2/phpunit.xml.dist | 34 + .../src/Google/Auth/Abstract.php | 36 + .../src/Google/Auth/AppIdentity.php | 105 + .../src/Google/Auth/AssertionCredentials.php | 136 + .../src/Google/Auth/Exception.php | 22 + .../src/Google/Auth/LoginTicket.php | 69 + .../src/Google/Auth/OAuth2.php | 633 + .../src/Google/Auth/Simple.php | 64 + .../src/Google/Cache/Abstract.php | 53 + .../src/Google/Cache/Apc.php | 111 + .../src/Google/Cache/Exception.php | 22 + .../src/Google/Cache/File.php | 190 + .../src/Google/Cache/Memcache.php | 182 + .../src/Google/Cache/Null.php | 55 + .../src/Google/Client.php | 686 ++ .../src/Google/Collection.php | 96 + .../src/Google/Config.php | 414 + .../src/Google/Exception.php | 20 + .../src/Google/Http/Batch.php | 141 + .../src/Google/Http/CacheParser.php | 184 + .../src/Google/Http/MediaFileUpload.php | 300 + .../src/Google/Http/REST.php | 147 + .../src/Google/Http/Request.php | 476 + .../src/Google/IO/Abstract.php | 329 + .../src/Google/IO/Curl.php | 159 + .../src/Google/IO/Exception.php | 22 + .../src/Google/IO/Stream.php | 231 + .../src/Google/IO/cacerts.pem | 2183 ++++ .../src/Google/Logger/Abstract.php | 406 + .../src/Google/Logger/Exception.php | 22 + .../src/Google/Logger/File.php | 156 + .../src/Google/Logger/Null.php | 41 + .../src/Google/Logger/Psr.php | 91 + .../src/Google/Model.php | 281 + .../src/Google/Service.php | 39 + .../src/Google/Service/AdExchangeBuyer.php | 1909 +++ .../src/Google/Service/AdExchangeSeller.php | 1712 +++ .../src/Google/Service/AdSense.php | 3585 ++++++ .../src/Google/Service/AdSenseHost.php | 2165 ++++ .../src/Google/Service/Admin.php | 193 + .../src/Google/Service/Analytics.php | 9447 ++++++++++++++ .../src/Google/Service/AndroidPublisher.php | 3441 ++++++ .../src/Google/Service/AppState.php | 368 + .../src/Google/Service/Appsactivity.php | 566 + .../src/Google/Service/Audit.php | 416 + .../src/Google/Service/Autoscaler.php | 1400 +++ .../src/Google/Service/Bigquery.php | 3203 +++++ .../src/Google/Service/Blogger.php | 3277 +++++ .../src/Google/Service/Books.php | 6411 ++++++++++ .../src/Google/Service/Calendar.php | 3751 ++++++ .../src/Google/Service/CivicInfo.php | 1568 +++ .../src/Google/Service/CloudMonitoring.php | 953 ++ .../src/Google/Service/Compute.php | 12150 +++++++++++++++++++ .../src/Google/Service/Container.php | 794 ++ .../src/Google/Service/Coordinate.php | 1382 +++ .../src/Google/Service/Customsearch.php | 1276 ++ .../src/Google/Service/Datastore.php | 1524 +++ .../src/Google/Service/Dfareporting.php | 2698 ++++ .../src/Google/Service/Directory.php | 5448 +++++++++ .../src/Google/Service/Dns.php | 907 ++ .../src/Google/Service/DoubleClickBidManager.php | 1066 ++ .../src/Google/Service/Doubleclicksearch.php | 1461 +++ .../src/Google/Service/Drive.php | 5567 +++++++++ .../src/Google/Service/Exception.php | 53 + .../src/Google/Service/Fitness.php | 1155 ++ .../src/Google/Service/Freebase.php | 452 + .../src/Google/Service/Fusiontables.php | 2485 ++++ .../src/Google/Service/Games.php | 7421 +++++++++++ .../src/Google/Service/GamesManagement.php | 1385 +++ .../src/Google/Service/Genomics.php | 4227 +++++++ .../src/Google/Service/Gmail.php | 1924 +++ .../src/Google/Service/GroupsMigration.php | 127 + .../src/Google/Service/Groupssettings.php | 414 + .../src/Google/Service/IdentityToolkit.php | 1630 +++ .../src/Google/Service/Licensing.php | 476 + .../src/Google/Service/Manager.php | 1857 +++ .../src/Google/Service/MapsEngine.php | 6420 ++++++++++ .../src/Google/Service/Mirror.php | 1931 +++ .../src/Google/Service/Oauth2.php | 390 + .../src/Google/Service/Pagespeedonline.php | 721 ++ .../src/Google/Service/Plus.php | 3498 ++++++ .../src/Google/Service/PlusDomains.php | 3712 ++++++ .../src/Google/Service/Prediction.php | 1227 ++ .../src/Google/Service/Pubsub.php | 980 ++ .../src/Google/Service/QPXExpress.php | 1537 +++ .../src/Google/Service/Replicapool.php | 1273 ++ .../src/Google/Service/Replicapoolupdater.php | 631 + .../src/Google/Service/Reports.php | 1135 ++ .../src/Google/Service/Reseller.php | 1115 ++ .../src/Google/Service/Resource.php | 242 + .../src/Google/Service/Resourceviews.php | 1341 ++ .../src/Google/Service/SQLAdmin.php | 2778 +++++ .../src/Google/Service/ShoppingContent.php | 4309 +++++++ .../src/Google/Service/SiteVerification.php | 404 + .../src/Google/Service/Spectrum.php | 1751 +++ .../src/Google/Service/Storage.php | 3082 +++++ .../src/Google/Service/TagManager.php | 3306 +++++ .../src/Google/Service/Taskqueue.php | 689 ++ .../src/Google/Service/Tasks.php | 907 ++ .../src/Google/Service/Translate.php | 368 + .../src/Google/Service/Urlshortener.php | 426 + .../src/Google/Service/Webfonts.php | 215 + .../src/Google/Service/Webmasters.php | 918 ++ .../src/Google/Service/YouTube.php | 10456 ++++++++++++++++ .../src/Google/Service/YouTubeAnalytics.php | 608 + .../src/Google/Signer/Abstract.php | 29 + .../src/Google/Signer/P12.php | 90 + .../src/Google/Utils.php | 135 + .../src/Google/Utils/URITemplate.php | 333 + .../src/Google/Verifier/Abstract.php | 30 + .../src/Google/Verifier/Pem.php | 73 + .../LICENSE | 13 + .../src/Mandrill.php | 161 + .../src/Mandrill/Exceptions.php | 151 + .../src/Mandrill/Exports.php | 112 + .../src/Mandrill/Inbound.php | 138 + .../src/Mandrill/Internal.php | 10 + .../src/Mandrill/Ips.php | 279 + .../src/Mandrill/Messages.php | 410 + .../src/Mandrill/Metadata.php | 64 + .../src/Mandrill/Rejects.php | 80 + .../src/Mandrill/Senders.php | 218 + .../src/Mandrill/Subaccounts.php | 171 + .../src/Mandrill/Tags.php | 174 + .../src/Mandrill/Templates.php | 235 + .../src/Mandrill/Urls.php | 108 + .../src/Mandrill/Users.php | 132 + .../src/Mandrill/Webhooks.php | 122 + .../src/Mandrill/Whitelists.php | 52 + Postman/Postman-Mail/postman_gmail.js | 35 + Postman/Postman-Mail/postman_mandrill.js | 40 + Postman/Postman-Mail/postman_sendgrid.js | 40 + Postman/Postman-Mail/postman_smtp.js | 89 + .../Postman-Mail/sendgrid-php-3.2.0/.editorconfig | 8 + Postman/Postman-Mail/sendgrid-php-3.2.0/.gitignore | 7 + .../Postman-Mail/sendgrid-php-3.2.0/.travis.yml | 35 + .../Postman-Mail/sendgrid-php-3.2.0/CHANGELOG.md | 36 + .../Postman-Mail/sendgrid-php-3.2.0/MIT.LICENSE | 15 + Postman/Postman-Mail/sendgrid-php-3.2.0/README.md | 958 ++ .../sendgrid-php-3.2.0/lib/SendGrid.php | 156 + .../sendgrid-php-3.2.0/lib/SendGrid/Email.php | 692 ++ .../sendgrid-php-3.2.0/lib/SendGrid/Exception.php | 14 + .../sendgrid-php-3.2.0/lib/SendGrid/Response.php | 40 + .../PostmanSendTestEmailController.php | 353 + .../postman_send_test_email.css | 3 + .../postman_send_test_email.js | 168 + Postman/Postman.php | 399 + Postman/PostmanAdminController.php | 327 + Postman/PostmanAjaxController.php | 57 + Postman/PostmanConfigTextHelper.php | 307 + Postman/PostmanInputSanitizer.php | 154 + Postman/PostmanInstaller.php | 232 + Postman/PostmanLogger.php | 69 + Postman/PostmanMessageHandler.php | 112 + Postman/PostmanOAuthToken.php | 86 + Postman/PostmanOptions.php | 430 + Postman/PostmanPreRequisitesCheck.php | 84 + Postman/PostmanSession.php | 92 + Postman/PostmanState.php | 110 + Postman/PostmanUtils.php | 462 + Postman/PostmanViewController.php | 302 + Postman/PostmanWpMail.php | 340 + Postman/PostmanWpMailBinder.php | 130 + Postman/extra/no-localhost-mails.php | 9 + Postman/languages/postman-smtp-el_GR.mo | Bin 0 -> 37592 bytes Postman/languages/postman-smtp-el_GR.po | 1738 +++ Postman/languages/postman-smtp-fr_FR.mo | Bin 0 -> 29123 bytes Postman/languages/postman-smtp-fr_FR.po | 2529 ++++ Postman/languages/postman-smtp-it_IT.mo | Bin 0 -> 28939 bytes Postman/languages/postman-smtp-it_IT.po | 2397 ++++ Postman/languages/postman-smtp-nl_NL.mo | Bin 0 -> 29682 bytes Postman/languages/postman-smtp-nl_NL.po | 1914 +++ Postman/languages/postman-smtp-ru_RU.mo | Bin 0 -> 36706 bytes Postman/languages/postman-smtp-ru_RU.po | 1778 +++ Postman/languages/postman-smtp-tr_TR.mo | Bin 0 -> 29147 bytes Postman/languages/postman-smtp-tr_TR.po | 2381 ++++ Postman/languages/postman-smtp-zh_CN.mo | Bin 0 -> 27088 bytes Postman/languages/postman-smtp-zh_CN.po | 1511 +++ Postman/languages/postman-smtp.pot | 1498 +++ README.md | 131 + assets/banner-772x250.png | Bin 0 -> 26906 bytes assets/screenshot-1.png | Bin 0 -> 86737 bytes assets/screenshot-10.png | Bin 0 -> 127024 bytes assets/screenshot-11.png | Bin 0 -> 304341 bytes assets/screenshot-12.png | Bin 0 -> 187857 bytes assets/screenshot-2.png | Bin 0 -> 102355 bytes assets/screenshot-3.png | Bin 0 -> 115476 bytes assets/screenshot-4.png | Bin 0 -> 142309 bytes assets/screenshot-5.png | Bin 0 -> 143733 bytes assets/screenshot-6.png | Bin 0 -> 183556 bytes assets/screenshot-7.png | Bin 0 -> 208487 bytes assets/screenshot-8.png | Bin 0 -> 151243 bytes assets/screenshot-9.png | Bin 0 -> 99004 bytes dev notes.txt | 176 + postman-smtp.php | 74 + readme.txt | 630 + script/jquery-steps/jquery.steps.js | 2042 ++++ script/jquery-steps/jquery.steps.min.js | 6 + script/jquery-validate/jquery.validate.js | 1365 +++ script/jquery-validate/jquery.validate.min.js | 4 + script/jquery-validate/localization/messages_ar.js | 23 + script/jquery-validate/localization/messages_bg.js | 23 + .../jquery-validate/localization/messages_bn_BD.js | 23 + script/jquery-validate/localization/messages_ca.js | 23 + script/jquery-validate/localization/messages_cs.js | 23 + script/jquery-validate/localization/messages_da.js | 20 + script/jquery-validate/localization/messages_de.js | 20 + script/jquery-validate/localization/messages_el.js | 23 + script/jquery-validate/localization/messages_es.js | 26 + .../jquery-validate/localization/messages_es_AR.js | 27 + .../jquery-validate/localization/messages_es_PE.js | 27 + script/jquery-validate/localization/messages_et.js | 21 + script/jquery-validate/localization/messages_eu.js | 23 + script/jquery-validate/localization/messages_fa.js | 26 + script/jquery-validate/localization/messages_fi.js | 21 + script/jquery-validate/localization/messages_fr.js | 49 + script/jquery-validate/localization/messages_ge.js | 23 + script/jquery-validate/localization/messages_gl.js | 28 + script/jquery-validate/localization/messages_he.js | 23 + script/jquery-validate/localization/messages_hr.js | 23 + script/jquery-validate/localization/messages_hu.js | 22 + .../jquery-validate/localization/messages_hy_AM.js | 23 + script/jquery-validate/localization/messages_id.js | 22 + script/jquery-validate/localization/messages_is.js | 21 + script/jquery-validate/localization/messages_it.js | 27 + script/jquery-validate/localization/messages_ja.js | 23 + script/jquery-validate/localization/messages_ka.js | 23 + script/jquery-validate/localization/messages_kk.js | 23 + script/jquery-validate/localization/messages_ko.js | 23 + script/jquery-validate/localization/messages_lt.js | 23 + script/jquery-validate/localization/messages_lv.js | 23 + script/jquery-validate/localization/messages_my.js | 23 + script/jquery-validate/localization/messages_nl.js | 33 + script/jquery-validate/localization/messages_no.js | 23 + script/jquery-validate/localization/messages_pl.js | 23 + .../jquery-validate/localization/messages_pt_BR.js | 75 + .../jquery-validate/localization/messages_pt_PT.js | 27 + script/jquery-validate/localization/messages_ro.js | 23 + script/jquery-validate/localization/messages_ru.js | 23 + script/jquery-validate/localization/messages_si.js | 23 + script/jquery-validate/localization/messages_sk.js | 20 + script/jquery-validate/localization/messages_sl.js | 23 + script/jquery-validate/localization/messages_sr.js | 23 + .../localization/messages_sr_lat.js | 23 + script/jquery-validate/localization/messages_sv.js | 21 + script/jquery-validate/localization/messages_th.js | 23 + script/jquery-validate/localization/messages_tj.js | 23 + script/jquery-validate/localization/messages_tr.js | 24 + script/jquery-validate/localization/messages_uk.js | 23 + script/jquery-validate/localization/messages_vi.js | 23 + script/jquery-validate/localization/messages_zh.js | 23 + .../jquery-validate/localization/messages_zh_TW.js | 24 + script/jquery-validate/localization/methods_de.js | 12 + .../jquery-validate/localization/methods_es_CL.js | 12 + script/jquery-validate/localization/methods_fi.js | 12 + script/jquery-validate/localization/methods_nl.js | 9 + script/jquery-validate/localization/methods_pt.js | 9 + script/postman-admin-pointer.js | 20 + script/postman.js | 247 + script/postman_resend_email_sript.js | 17 + script/sprintf/sprintf.min.js | 4 + script/sprintf/sprintf.min.map | 1 + style/ajax-loader.gif | Bin 0 -> 2545 bytes style/jquery-steps/jquery-ui.css | 1175 ++ style/jquery-steps/jquery.steps.css | 382 + style/postman-email-log.css | 5 + style/postman.css | 84 + style/snail-mail-email-explained.jpg | Bin 0 -> 25078 bytes style/testEmail.html | 39 + 400 files changed, 243742 insertions(+) create mode 100644 Postman/Postman-Auth/PostmanAbstractAuthenticationManager.php create mode 100644 Postman/Postman-Auth/PostmanAuthenticationManager.php create mode 100644 Postman/Postman-Auth/PostmanAuthenticationManagerFactory.php create mode 100644 Postman/Postman-Auth/PostmanGoogleAuthenticationManager.php create mode 100644 Postman/Postman-Auth/PostmanMicrosoftAuthenticationManager.php create mode 100644 Postman/Postman-Auth/PostmanNonOAuthAuthenticationManager.php create mode 100644 Postman/Postman-Auth/PostmanStateIdMissingException.php create mode 100644 Postman/Postman-Auth/PostmanYahooAuthenticationManager.php create mode 100644 Postman/Postman-Configuration/PostmanConfigurationController.php create mode 100644 Postman/Postman-Configuration/PostmanImportableConfiguration.php create mode 100644 Postman/Postman-Configuration/PostmanRegisterConfigurationSettings.php create mode 100644 Postman/Postman-Configuration/PostmanSmtpDiscovery.php create mode 100644 Postman/Postman-Configuration/postman_manual_config.js create mode 100644 Postman/Postman-Configuration/postman_wizard.js create mode 100644 Postman/Postman-Connectivity-Test/Postman-PortTest.php create mode 100644 Postman/Postman-Connectivity-Test/PostmanConnectivityTestController.php create mode 100644 Postman/Postman-Connectivity-Test/postman_port_test.js create mode 100644 Postman/Postman-Connectivity-Test/registered-domain-libs-master/.gitignore create mode 100644 Postman/Postman-Connectivity-Test/registered-domain-libs-master/PHP/effectiveTLDs.inc.php create mode 100644 Postman/Postman-Connectivity-Test/registered-domain-libs-master/PHP/regDomain.class.php create mode 100644 Postman/Postman-Connectivity-Test/registered-domain-libs-master/PHP/regDomain.inc.php create mode 100644 Postman/Postman-Connectivity-Test/registered-domain-libs-master/PHP/test-regDomain.php create mode 100644 Postman/Postman-Connectivity-Test/registered-domain-libs-master/README.txt create mode 100644 Postman/Postman-Connectivity-Test/registered-domain-libs-master/generateEffectiveTLDs.php create mode 100644 Postman/Postman-Controller/PostmanAdminPointer.php create mode 100644 Postman/Postman-Controller/PostmanDashboardWidgetController.php create mode 100644 Postman/Postman-Controller/PostmanManageConfigurationAjaxHandler.php create mode 100644 Postman/Postman-Diagnostic-Test/PostmanDiagnosticTestController.php create mode 100644 Postman/Postman-Diagnostic-Test/postman_diagnostics.js create mode 100644 Postman/Postman-Email-Log/PostmanEmailLogController.php create mode 100644 Postman/Postman-Email-Log/PostmanEmailLogPostType.php create mode 100644 Postman/Postman-Email-Log/PostmanEmailLogService.php create mode 100644 Postman/Postman-Email-Log/PostmanEmailLogView.php create mode 100644 Postman/Postman-Mail/PostmanDefaultModuleTransport.php create mode 100644 Postman/Postman-Mail/PostmanEmailAddress.php create mode 100644 Postman/Postman-Mail/PostmanGmailApiModuleTransport.php create mode 100644 Postman/Postman-Mail/PostmanGmailApiModuleZendMailTransport.php create mode 100644 Postman/Postman-Mail/PostmanMailEngine.php create mode 100644 Postman/Postman-Mail/PostmanMandrillMailEngine.php create mode 100644 Postman/Postman-Mail/PostmanMandrillTransport.php create mode 100644 Postman/Postman-Mail/PostmanMessage.php create mode 100644 Postman/Postman-Mail/PostmanModuleTransport.php create mode 100644 Postman/Postman-Mail/PostmanMyMailConnector.php create mode 100644 Postman/Postman-Mail/PostmanSendGridMailEngine.php create mode 100644 Postman/Postman-Mail/PostmanSendGridTransport.php create mode 100644 Postman/Postman-Mail/PostmanSmtpModuleTransport.php create mode 100644 Postman/Postman-Mail/PostmanTransportRegistry.php create mode 100644 Postman/Postman-Mail/PostmanZendMailEngine.php create mode 100644 Postman/Postman-Mail/PostmanZendMailTransportConfigurationFactory.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Exception.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Loader.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Loader/Autoloader.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Mail.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Mail/Exception.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Mail/Message.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Mail/Message/File.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Mail/Message/Interface.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Mail/Part/File.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Mail/Part/Interface.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Mail/Protocol/Abstract.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Mail/Protocol/Exception.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Mail/Protocol/Imap.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Mail/Protocol/Pop3.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Mail/Protocol/Smtp.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Mail/Protocol/Smtp/Auth/Crammd5.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Mail/Protocol/Smtp/Auth/Login.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Mail/Protocol/Smtp/Auth/Oauth2.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Mail/Protocol/Smtp/Auth/Plain.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Mail/Storage.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Mail/Storage/Abstract.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Mail/Storage/Exception.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Mail/Storage/Folder.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Mail/Storage/Folder/Interface.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Mail/Storage/Folder/Maildir.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Mail/Storage/Folder/Mbox.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Mail/Storage/Imap.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Mail/Storage/Maildir.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Mail/Storage/Mbox.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Mail/Storage/Pop3.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Mail/Storage/Writable/Interface.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Mail/Storage/Writable/Maildir.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Mail/Transport/Abstract.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Mail/Transport/Exception.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Mail/Transport/File.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Mail/Transport/Sendmail.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Mail/Transport/Smtp.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Mime.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Mime/Decode.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Mime/Exception.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Mime/Message.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Mime/Part.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Registry.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Validate.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Validate/Abstract.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Validate/Alnum.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Validate/Alpha.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Validate/Barcode.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Validate/Between.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Validate/Callback.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Validate/Ccnum.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Validate/CreditCard.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Validate/Date.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Validate/Digits.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Validate/EmailAddress.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Validate/Exception.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Validate/Float.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Validate/GreaterThan.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Validate/Hex.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Validate/Hostname.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Validate/Hostname/Biz.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Validate/Hostname/Cn.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Validate/Hostname/Com.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Validate/Hostname/Jp.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Validate/Iban.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Validate/Identical.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Validate/InArray.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Validate/Int.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Validate/Interface.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Validate/Ip.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Validate/Isbn.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Validate/LessThan.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Validate/NotEmpty.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Validate/PostCode.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Validate/Regex.php create mode 100644 Postman/Postman-Mail/Zend-1.12.10/Validate/StringLength.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/.gitignore create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/.travis.yml create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/CONTRIBUTING.md create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/LICENSE create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/README.md create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/autoload.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/phpunit.xml.dist create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Auth/Abstract.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Auth/AppIdentity.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Auth/AssertionCredentials.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Auth/Exception.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Auth/LoginTicket.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Auth/OAuth2.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Auth/Simple.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Cache/Abstract.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Cache/Apc.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Cache/Exception.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Cache/File.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Cache/Memcache.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Cache/Null.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Client.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Collection.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Config.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Exception.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Http/Batch.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Http/CacheParser.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Http/MediaFileUpload.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Http/REST.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Http/Request.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/IO/Abstract.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/IO/Curl.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/IO/Exception.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/IO/Stream.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/IO/cacerts.pem create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Logger/Abstract.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Logger/Exception.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Logger/File.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Logger/Null.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Logger/Psr.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Model.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/AdExchangeBuyer.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/AdExchangeSeller.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/AdSense.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/AdSenseHost.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Admin.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Analytics.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/AndroidPublisher.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/AppState.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Appsactivity.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Audit.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Autoscaler.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Bigquery.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Blogger.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Books.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Calendar.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/CivicInfo.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/CloudMonitoring.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Compute.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Container.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Coordinate.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Customsearch.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Datastore.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Dfareporting.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Directory.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Dns.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/DoubleClickBidManager.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Doubleclicksearch.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Drive.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Exception.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Fitness.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Freebase.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Fusiontables.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Games.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/GamesManagement.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Genomics.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Gmail.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/GroupsMigration.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Groupssettings.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/IdentityToolkit.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Licensing.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Manager.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/MapsEngine.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Mirror.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Oauth2.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Pagespeedonline.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Plus.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/PlusDomains.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Prediction.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Pubsub.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/QPXExpress.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Replicapool.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Replicapoolupdater.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Reports.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Reseller.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Resource.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Resourceviews.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/SQLAdmin.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/ShoppingContent.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/SiteVerification.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Spectrum.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Storage.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/TagManager.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Taskqueue.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Tasks.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Translate.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Urlshortener.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Webfonts.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Webmasters.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/YouTube.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/YouTubeAnalytics.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Signer/Abstract.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Signer/P12.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Utils.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Utils/URITemplate.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Verifier/Abstract.php create mode 100644 Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Verifier/Pem.php create mode 100644 Postman/Postman-Mail/mailchimp-mandrill-api-php-da3adc10042e/LICENSE create mode 100644 Postman/Postman-Mail/mailchimp-mandrill-api-php-da3adc10042e/src/Mandrill.php create mode 100644 Postman/Postman-Mail/mailchimp-mandrill-api-php-da3adc10042e/src/Mandrill/Exceptions.php create mode 100644 Postman/Postman-Mail/mailchimp-mandrill-api-php-da3adc10042e/src/Mandrill/Exports.php create mode 100644 Postman/Postman-Mail/mailchimp-mandrill-api-php-da3adc10042e/src/Mandrill/Inbound.php create mode 100644 Postman/Postman-Mail/mailchimp-mandrill-api-php-da3adc10042e/src/Mandrill/Internal.php create mode 100644 Postman/Postman-Mail/mailchimp-mandrill-api-php-da3adc10042e/src/Mandrill/Ips.php create mode 100644 Postman/Postman-Mail/mailchimp-mandrill-api-php-da3adc10042e/src/Mandrill/Messages.php create mode 100644 Postman/Postman-Mail/mailchimp-mandrill-api-php-da3adc10042e/src/Mandrill/Metadata.php create mode 100644 Postman/Postman-Mail/mailchimp-mandrill-api-php-da3adc10042e/src/Mandrill/Rejects.php create mode 100644 Postman/Postman-Mail/mailchimp-mandrill-api-php-da3adc10042e/src/Mandrill/Senders.php create mode 100644 Postman/Postman-Mail/mailchimp-mandrill-api-php-da3adc10042e/src/Mandrill/Subaccounts.php create mode 100644 Postman/Postman-Mail/mailchimp-mandrill-api-php-da3adc10042e/src/Mandrill/Tags.php create mode 100644 Postman/Postman-Mail/mailchimp-mandrill-api-php-da3adc10042e/src/Mandrill/Templates.php create mode 100644 Postman/Postman-Mail/mailchimp-mandrill-api-php-da3adc10042e/src/Mandrill/Urls.php create mode 100644 Postman/Postman-Mail/mailchimp-mandrill-api-php-da3adc10042e/src/Mandrill/Users.php create mode 100644 Postman/Postman-Mail/mailchimp-mandrill-api-php-da3adc10042e/src/Mandrill/Webhooks.php create mode 100644 Postman/Postman-Mail/mailchimp-mandrill-api-php-da3adc10042e/src/Mandrill/Whitelists.php create mode 100644 Postman/Postman-Mail/postman_gmail.js create mode 100644 Postman/Postman-Mail/postman_mandrill.js create mode 100644 Postman/Postman-Mail/postman_sendgrid.js create mode 100644 Postman/Postman-Mail/postman_smtp.js create mode 100644 Postman/Postman-Mail/sendgrid-php-3.2.0/.editorconfig create mode 100644 Postman/Postman-Mail/sendgrid-php-3.2.0/.gitignore create mode 100644 Postman/Postman-Mail/sendgrid-php-3.2.0/.travis.yml create mode 100644 Postman/Postman-Mail/sendgrid-php-3.2.0/CHANGELOG.md create mode 100644 Postman/Postman-Mail/sendgrid-php-3.2.0/MIT.LICENSE create mode 100644 Postman/Postman-Mail/sendgrid-php-3.2.0/README.md create mode 100644 Postman/Postman-Mail/sendgrid-php-3.2.0/lib/SendGrid.php create mode 100644 Postman/Postman-Mail/sendgrid-php-3.2.0/lib/SendGrid/Email.php create mode 100644 Postman/Postman-Mail/sendgrid-php-3.2.0/lib/SendGrid/Exception.php create mode 100644 Postman/Postman-Mail/sendgrid-php-3.2.0/lib/SendGrid/Response.php create mode 100644 Postman/Postman-Send-Test-Email/PostmanSendTestEmailController.php create mode 100644 Postman/Postman-Send-Test-Email/postman_send_test_email.css create mode 100644 Postman/Postman-Send-Test-Email/postman_send_test_email.js create mode 100644 Postman/Postman.php create mode 100644 Postman/PostmanAdminController.php create mode 100644 Postman/PostmanAjaxController.php create mode 100644 Postman/PostmanConfigTextHelper.php create mode 100644 Postman/PostmanInputSanitizer.php create mode 100644 Postman/PostmanInstaller.php create mode 100644 Postman/PostmanLogger.php create mode 100644 Postman/PostmanMessageHandler.php create mode 100644 Postman/PostmanOAuthToken.php create mode 100644 Postman/PostmanOptions.php create mode 100644 Postman/PostmanPreRequisitesCheck.php create mode 100644 Postman/PostmanSession.php create mode 100644 Postman/PostmanState.php create mode 100644 Postman/PostmanUtils.php create mode 100644 Postman/PostmanViewController.php create mode 100644 Postman/PostmanWpMail.php create mode 100644 Postman/PostmanWpMailBinder.php create mode 100644 Postman/extra/no-localhost-mails.php create mode 100644 Postman/languages/postman-smtp-el_GR.mo create mode 100644 Postman/languages/postman-smtp-el_GR.po create mode 100644 Postman/languages/postman-smtp-fr_FR.mo create mode 100644 Postman/languages/postman-smtp-fr_FR.po create mode 100644 Postman/languages/postman-smtp-it_IT.mo create mode 100644 Postman/languages/postman-smtp-it_IT.po create mode 100644 Postman/languages/postman-smtp-nl_NL.mo create mode 100644 Postman/languages/postman-smtp-nl_NL.po create mode 100644 Postman/languages/postman-smtp-ru_RU.mo create mode 100644 Postman/languages/postman-smtp-ru_RU.po create mode 100644 Postman/languages/postman-smtp-tr_TR.mo create mode 100644 Postman/languages/postman-smtp-tr_TR.po create mode 100644 Postman/languages/postman-smtp-zh_CN.mo create mode 100644 Postman/languages/postman-smtp-zh_CN.po create mode 100644 Postman/languages/postman-smtp.pot create mode 100644 README.md create mode 100644 assets/banner-772x250.png create mode 100644 assets/screenshot-1.png create mode 100644 assets/screenshot-10.png create mode 100644 assets/screenshot-11.png create mode 100644 assets/screenshot-12.png create mode 100644 assets/screenshot-2.png create mode 100644 assets/screenshot-3.png create mode 100644 assets/screenshot-4.png create mode 100644 assets/screenshot-5.png create mode 100644 assets/screenshot-6.png create mode 100644 assets/screenshot-7.png create mode 100644 assets/screenshot-8.png create mode 100644 assets/screenshot-9.png create mode 100644 dev notes.txt create mode 100644 postman-smtp.php create mode 100644 readme.txt create mode 100644 script/jquery-steps/jquery.steps.js create mode 100644 script/jquery-steps/jquery.steps.min.js create mode 100644 script/jquery-validate/jquery.validate.js create mode 100644 script/jquery-validate/jquery.validate.min.js create mode 100644 script/jquery-validate/localization/messages_ar.js create mode 100644 script/jquery-validate/localization/messages_bg.js create mode 100644 script/jquery-validate/localization/messages_bn_BD.js create mode 100644 script/jquery-validate/localization/messages_ca.js create mode 100644 script/jquery-validate/localization/messages_cs.js create mode 100644 script/jquery-validate/localization/messages_da.js create mode 100644 script/jquery-validate/localization/messages_de.js create mode 100644 script/jquery-validate/localization/messages_el.js create mode 100644 script/jquery-validate/localization/messages_es.js create mode 100644 script/jquery-validate/localization/messages_es_AR.js create mode 100644 script/jquery-validate/localization/messages_es_PE.js create mode 100644 script/jquery-validate/localization/messages_et.js create mode 100644 script/jquery-validate/localization/messages_eu.js create mode 100644 script/jquery-validate/localization/messages_fa.js create mode 100644 script/jquery-validate/localization/messages_fi.js create mode 100644 script/jquery-validate/localization/messages_fr.js create mode 100644 script/jquery-validate/localization/messages_ge.js create mode 100644 script/jquery-validate/localization/messages_gl.js create mode 100644 script/jquery-validate/localization/messages_he.js create mode 100644 script/jquery-validate/localization/messages_hr.js create mode 100644 script/jquery-validate/localization/messages_hu.js create mode 100644 script/jquery-validate/localization/messages_hy_AM.js create mode 100644 script/jquery-validate/localization/messages_id.js create mode 100644 script/jquery-validate/localization/messages_is.js create mode 100644 script/jquery-validate/localization/messages_it.js create mode 100644 script/jquery-validate/localization/messages_ja.js create mode 100644 script/jquery-validate/localization/messages_ka.js create mode 100644 script/jquery-validate/localization/messages_kk.js create mode 100644 script/jquery-validate/localization/messages_ko.js create mode 100644 script/jquery-validate/localization/messages_lt.js create mode 100644 script/jquery-validate/localization/messages_lv.js create mode 100644 script/jquery-validate/localization/messages_my.js create mode 100644 script/jquery-validate/localization/messages_nl.js create mode 100644 script/jquery-validate/localization/messages_no.js create mode 100644 script/jquery-validate/localization/messages_pl.js create mode 100644 script/jquery-validate/localization/messages_pt_BR.js create mode 100644 script/jquery-validate/localization/messages_pt_PT.js create mode 100644 script/jquery-validate/localization/messages_ro.js create mode 100644 script/jquery-validate/localization/messages_ru.js create mode 100644 script/jquery-validate/localization/messages_si.js create mode 100644 script/jquery-validate/localization/messages_sk.js create mode 100644 script/jquery-validate/localization/messages_sl.js create mode 100644 script/jquery-validate/localization/messages_sr.js create mode 100644 script/jquery-validate/localization/messages_sr_lat.js create mode 100644 script/jquery-validate/localization/messages_sv.js create mode 100644 script/jquery-validate/localization/messages_th.js create mode 100644 script/jquery-validate/localization/messages_tj.js create mode 100644 script/jquery-validate/localization/messages_tr.js create mode 100644 script/jquery-validate/localization/messages_uk.js create mode 100644 script/jquery-validate/localization/messages_vi.js create mode 100644 script/jquery-validate/localization/messages_zh.js create mode 100644 script/jquery-validate/localization/messages_zh_TW.js create mode 100644 script/jquery-validate/localization/methods_de.js create mode 100644 script/jquery-validate/localization/methods_es_CL.js create mode 100644 script/jquery-validate/localization/methods_fi.js create mode 100644 script/jquery-validate/localization/methods_nl.js create mode 100644 script/jquery-validate/localization/methods_pt.js create mode 100644 script/postman-admin-pointer.js create mode 100644 script/postman.js create mode 100644 script/postman_resend_email_sript.js create mode 100644 script/sprintf/sprintf.min.js create mode 100644 script/sprintf/sprintf.min.map create mode 100644 style/ajax-loader.gif create mode 100644 style/jquery-steps/jquery-ui.css create mode 100644 style/jquery-steps/jquery.steps.css create mode 100644 style/postman-email-log.css create mode 100644 style/postman.css create mode 100644 style/snail-mail-email-explained.jpg create mode 100644 style/testEmail.html diff --git a/Postman/Postman-Auth/PostmanAbstractAuthenticationManager.php b/Postman/Postman-Auth/PostmanAbstractAuthenticationManager.php new file mode 100644 index 0000000..73a7e03 --- /dev/null +++ b/Postman/Postman-Auth/PostmanAbstractAuthenticationManager.php @@ -0,0 +1,168 @@ +logger = $logger; + $this->clientId = $clientId; + $this->clientSecret = $clientSecret; + $this->authorizationToken = $authorizationToken; + $this->callbackUri = $callbackUri; + } + protected function getLogger() { + return $this->logger; + } + protected function getClientId() { + return $this->clientId; + } + protected function getClientSecret() { + return $this->clientSecret; + } + protected function getAuthorizationToken() { + return $this->authorizationToken; + } + + /** + * Create a state token to prevent request forgery. + * Store it in the session for later validation. + */ + public function generateRequestTransactionId() { + return $state = md5 ( rand () ); + } + + /** + */ + public function isAccessTokenExpired() { + $expireTime = ($this->authorizationToken->getExpiryTime () - self::FORCE_REFRESH_X_SECONDS_BEFORE_EXPIRE); + $tokenHasExpired = time () > $expireTime; + $this->logger->debug ( 'Access Token Expiry Time is ' . $expireTime . ', expires_in=' . ($expireTime - time ()) . ', expired=' . ($tokenHasExpired ? 'yes' : 'no') ); + return $tokenHasExpired; + } + + /** + * Decoded the received token + * This code is identical for Google and Hotmail + * + * @param unknown $response + * @throws Exception + */ + protected function processResponse($response) { + $authToken = json_decode ( stripslashes ( $response ) ); + if ($authToken === NULL) { + $this->getLogger ()->error ( $response ); + throw new Exception ( $response ); + } else if (isset ( $authToken->{'error'} )) { + if (isset ( $authToken->{'error_description'} )) { + $this->getLogger ()->error ( $authToken->{'error'} . ' processing response: ' . $authToken->{'error_description'} ); + throw new Exception ( $authToken->{'error_description'} . '(' . $authToken->{'error'} . ')' ); + } else { + // Yahoo doesn't give descriptions + $this->getLogger ()->error ( $authToken->{'error'} . ' processing response' ); + throw new Exception ( $authToken->{'error'} ); + } + } else { + $this->getLogger ()->trace ( 'Processing response:' ); + $this->getLogger ()->trace ( $response ); + $this->decodeReceivedAuthorizationToken ( $authToken ); + } + } + + /** + * Parses the authorization token and extracts the expiry time, accessToken, + * and if this is a first-time authorization, a refresh token. + * + * This code is identical for Google and Hotmail + * + * @param unknown $client + */ + protected function decodeReceivedAuthorizationToken($newtoken) { + assert ( ! empty ( $newtoken ) ); + assert ( ! empty ( $newtoken->{self::EXPIRES} ) ); + assert ( ! empty ( $newtoken->{self::ACCESS_TOKEN} ) ); + + // update expiry time + if (empty ( $newtoken->{self::EXPIRES} )) { + throw new Exception ( '[expires_in] value is missing from the authentication token' ); + } + $newExpiryTime = time () + $newtoken->{self::EXPIRES}; + $this->getAuthorizationToken ()->setExpiryTime ( $newExpiryTime ); + $this->getLogger ()->debug ( 'Updating Access Token Expiry Time ' ); + + // update acccess token + if (empty ( $newtoken->{self::ACCESS_TOKEN} )) { + throw new Exception ( '[access_token] value is missing from the authentication token' ); + } + $newAccessToken = $newtoken->{self::ACCESS_TOKEN}; + $this->getAuthorizationToken ()->setAccessToken ( $newAccessToken ); + $this->getLogger ()->debug ( 'Updating Access Token' ); + + // update refresh token, if there is one + if (isset ( $newtoken->{self::REFRESH_TOKEN} )) { + $newRefreshToken = $newtoken->{self::REFRESH_TOKEN}; + $this->getAuthorizationToken ()->setRefreshToken ( $newRefreshToken ); + $this->getLogger ()->debug ( 'Updating Refresh Token ' ); + } + } + + /** + * Given an OAuth provider-specific URL and redirectUri, + * issue an HttpRequest to refresh the access token + * + * This code is identical for Google and Hotmail + */ + public function refreshToken() { + $this->getLogger ()->debug ( 'Refreshing Token' ); + $refreshUrl = $this->getTokenUrl (); + $callbackUrl = $this->getCallbackUri (); + assert ( ! empty ( $refreshUrl ) ); + assert ( ! empty ( $callbackUrl ) ); + // the format of the URL is + // client_id=CLIENT_ID&client_secret=CLIENT_SECRET&redirect_uri=REDIRECT_URI&grant_type=refresh_token&refresh_token=REFRESH_TOKEN + $postvals = array ( + 'client_id' => $this->getClientId (), + 'client_secret' => $this->getClientSecret (), + 'redirect_uri' => $callbackUrl, + 'grant_type' => 'refresh_token', + 'refresh_token' => $this->getAuthorizationToken ()->getRefreshToken () + ); + // example request string + // client_id=0000000603DB0F&redirect_uri=http%3A%2F%2Fwww.contoso.com%2Fcallback.php&client_secret=LWILlT555GicSrIATma5qgyBXebRI&refresh_token=*LA9...//refresh token string shortened for example//...xRoX&grant_type=refresh_token + $response = PostmanUtils::remotePostGetBodyOnly ( $refreshUrl, $postvals ); + $this->processResponse ( $response ); + } + /** + * (non-PHPdoc) + * + * @see PostmanAuthenticationManager::getCallbackUri() + */ + public function getCallbackUri() { + return $this->callbackUri; + } + } +} diff --git a/Postman/Postman-Auth/PostmanAuthenticationManager.php b/Postman/Postman-Auth/PostmanAuthenticationManager.php new file mode 100644 index 0000000..56cc697 --- /dev/null +++ b/Postman/Postman-Auth/PostmanAuthenticationManager.php @@ -0,0 +1,15 @@ +logger = new PostmanLogger ( get_class ( $this ) ); + } + public function createAuthenticationManager() { + $transport = PostmanTransportRegistry::getInstance ()->getSelectedTransport (); + return $this->createManager ( $transport ); + } + private function createManager(PostmanZendModuleTransport $transport) { + $options = PostmanOptions::getInstance (); + $authorizationToken = PostmanOAuthToken::getInstance (); + $authenticationType = $options->getAuthenticationType (); + $hostname = $options->getHostname (); + $clientId = $options->getClientId (); + $clientSecret = $options->getClientSecret (); + $senderEmail = $options->getMessageSenderEmail (); + $scribe = $transport->getScribe (); + $redirectUrl = $scribe->getCallbackUrl (); + if ($transport->isOAuthUsed ( $options->getAuthenticationType () )) { + if ($transport->isServiceProviderGoogle ( $hostname )) { + $authenticationManager = new PostmanGoogleAuthenticationManager ( $clientId, $clientSecret, $authorizationToken, $redirectUrl, $senderEmail ); + } else if ($transport->isServiceProviderMicrosoft ( $hostname )) { + $authenticationManager = new PostmanMicrosoftAuthenticationManager ( $clientId, $clientSecret, $authorizationToken, $redirectUrl ); + } else if ($transport->isServiceProviderYahoo ( $hostname )) { + $authenticationManager = new PostmanYahooAuthenticationManager ( $clientId, $clientSecret, $authorizationToken, $redirectUrl ); + } else { + assert ( false ); + } + } else { + $authenticationManager = new PostmanNonOAuthAuthenticationManager (); + } + $this->logger->debug ( 'Created ' . get_class ( $authenticationManager ) ); + return $authenticationManager; + } + } +} \ No newline at end of file diff --git a/Postman/Postman-Auth/PostmanGoogleAuthenticationManager.php b/Postman/Postman-Auth/PostmanGoogleAuthenticationManager.php new file mode 100644 index 0000000..4bbe27b --- /dev/null +++ b/Postman/Postman-Auth/PostmanGoogleAuthenticationManager.php @@ -0,0 +1,119 @@ +senderEmail = $senderEmail; + parent::__construct ( $logger, $clientId, $clientSecret, $authorizationToken, $callbackUri ); + } + + /** + * The authorization sequence begins when your application redirects a browser to a Google URL; + * the URL includes query parameters that indicate the type of access being requested. + * + * As in other scenarios, Google handles user authentication, session selection, and user consent. + * The result is an authorization code, which Google returns to your application in a query string. + * + * (non-PHPdoc) + * + * @see PostmanAuthenticationManager::requestVerificationCode() + */ + public function requestVerificationCode($transactionId) { + $params = array ( + 'response_type' => 'code', + 'redirect_uri' => urlencode ( $this->getCallbackUri () ), + 'client_id' => $this->getClientId (), + 'scope' => urlencode ( self::SCOPE_FULL_ACCESS ), + 'access_type' => 'offline', + 'approval_prompt' => 'force', + 'state' => $transactionId, + 'login_hint' => $this->senderEmail + ); + + $authUrl = $this->getAuthorizationUrl () . '?' . build_query ( $params ); + + $this->getLogger ()->debug ( 'Requesting verification code from Google' ); + PostmanUtils::redirect ( $authUrl ); + } + + /** + * After receiving the authorization code, your application can exchange the code + * (along with a client ID and client secret) for an access token and, in some cases, + * a refresh token. + * + * This code is identical for Google and Hotmail + * + * @see PostmanAuthenticationManager::processAuthorizationGrantCode() + */ + public function processAuthorizationGrantCode($transactionId) { + if (isset ( $_GET ['code'] )) { + $this->getLogger ()->debug ( 'Found authorization code in request header' ); + $code = filter_input( INPUT_GET, 'code', FILTER_SANITIZE_STRING ); + if (isset ( $_GET ['state'] ) && $_GET ['state'] == $transactionId) { + $this->getLogger ()->debug ( 'Found valid state in request header' ); + } else { + $this->getLogger ()->error ( 'The grant code from Google had no accompanying state and may be a forgery' ); + throw new PostmanStateIdMissingException (); + } + $postvals = array ( + 'client_id' => $this->getClientId (), + 'client_secret' => $this->getClientSecret (), + 'grant_type' => 'authorization_code', + 'redirect_uri' => $this->getCallbackUri (), + 'code' => $code + ); + $response = PostmanUtils::remotePostGetBodyOnly ( $this->getTokenUrl (), $postvals ); + $this->processResponse ( $response ); + $this->getAuthorizationToken ()->setVendorName ( self::VENDOR_NAME ); + return true; + } else { + $this->getLogger ()->debug ( 'Expected code in the request header but found none - user probably denied request' ); + return false; + } + } + public function getAuthorizationUrl() { + return self::GOOGLE_ENDPOINT; + } + public function getTokenUrl() { + return self::GOOGLE_REFRESH; + } + } +} diff --git a/Postman/Postman-Auth/PostmanMicrosoftAuthenticationManager.php b/Postman/Postman-Auth/PostmanMicrosoftAuthenticationManager.php new file mode 100644 index 0000000..a724f04 --- /dev/null +++ b/Postman/Postman-Auth/PostmanMicrosoftAuthenticationManager.php @@ -0,0 +1,104 @@ + 'code', + 'redirect_uri' => urlencode ( $this->getCallbackUri () ), + 'client_id' => $this->getClientId (), + 'client_secret' => $this->getClientSecret (), + 'scope' => urlencode ( self::SCOPE ), + 'access_type' => 'offline', + 'approval_prompt' => 'force' + ); + + $authUrl = $this->getAuthorizationUrl () . '?' . build_query ( $params ); + + $this->getLogger ()->debug ( 'Requesting verification code from Microsoft' ); + PostmanUtils::redirect ( $authUrl ); + } + + /** + * ********************************************** + * If we have a code back from the OAuth 2.0 flow, + * we need to exchange that for an access token. + * We store the resultant access token + * bundle in the session, and redirect to ourself. + * ********************************************** + */ + public function processAuthorizationGrantCode($transactionId) { + if (isset ( $_GET ['code'] )) { + $code = filter_input( INPUT_GET, 'code', FILTER_SANITIZE_STRING ); + $this->getLogger ()->debug ( 'Found authorization code in request header' ); + $postvals = array ( + 'client_id' => $this->getClientId (), + 'client_secret' => $this->getClientSecret (), + 'grant_type' => 'authorization_code', + 'redirect_uri' => $this->getCallbackUri (), + 'code' => $code + ); + $response = PostmanUtils::remotePostGetBodyOnly ( $this->getTokenUrl (), $postvals ); + $this->processResponse ( $response ); + $this->getAuthorizationToken ()->setVendorName ( self::VENDOR_NAME ); + return true; + } else { + $this->getLogger ()->debug ( 'Expected code in the request header but found none - user probably denied request' ); + return false; + } + } + public function getAuthorizationUrl() { + return self::WINDOWS_LIVE_ENDPOINT; + } + public function getTokenUrl() { + return self::WINDOWS_LIVE_REFRESH; + } + } +} diff --git a/Postman/Postman-Auth/PostmanNonOAuthAuthenticationManager.php b/Postman/Postman-Auth/PostmanNonOAuthAuthenticationManager.php new file mode 100644 index 0000000..7ab1b5a --- /dev/null +++ b/Postman/Postman-Auth/PostmanNonOAuthAuthenticationManager.php @@ -0,0 +1,43 @@ + 'code', + 'redirect_uri' => urlencode ( $this->getCallbackUri () ), + 'client_id' => $this->getClientId (), + 'state' => $transactionId, + 'language' => get_locale () + ); + + $authUrl = $this->getAuthorizationUrl () . '?' . build_query ( $params ); + + $this->getLogger ()->debug ( 'Requesting verification code from Yahoo' ); + PostmanUtils::redirect ( $authUrl ); + } + + /** + * After receiving the authorization code, your application can exchange the code + * (along with a client ID and client secret) for an access token and, in some cases, + * a refresh token. + * + * (non-PHPdoc) + * + * @see PostmanAuthenticationManager::processAuthorizationGrantCode() + */ + public function processAuthorizationGrantCode($transactionId) { + if (isset ( $_GET ['code'] )) { + $code = filter_input( INPUT_GET, 'code', FILTER_SANITIZE_STRING ); + $this->getLogger ()->debug ( sprintf ( 'Found authorization code %s in request header', $code ) ); + if (isset ( $_GET ['state'] ) && $_GET ['state'] == $transactionId) { + $this->getLogger ()->debug ( 'Found valid state in request header' ); + } else { + $this->getLogger ()->error ( 'The grant code from Yahoo had no accompanying state and may be a forgery' ); + throw new PostmanStateIdMissingException (); + } + // Note: The Authorization: Basic authorization header is generated through a Base64 encoding of client_id:client_secret per RFC 2617. + // header("Authorization: Basic " . base64_encode($username . ":" . $password); + $headers = array ( + 'Authorization' => sprintf ( "Basic %s", base64_encode ( $this->getClientId () . ':' . $this->getClientSecret () ) ) + ); + $postvals = array ( + 'code' => $code, + 'grant_type' => 'authorization_code', + 'redirect_uri' => $this->getCallbackUri () + ); + $response = PostmanUtils::remotePostGetBodyOnly ( $this->getTokenUrl (), $postvals, $headers ); + $this->processResponse ( $response ); + $this->getAuthorizationToken ()->setVendorName ( self::VENDOR_NAME ); + return true; + } else { + $this->getLogger ()->debug ( 'Expected code in the request header but found none - user probably denied request' ); + return false; + } + } + + /** + * Step 5: Exchange refresh token for new access token + * After the access token expires, you can use the refresh token, which has a long lifetime, to get a new access token. + */ + public function refreshToken() { + $this->getLogger ()->debug ( 'Refreshing Token' ); + $refreshUrl = $this->getTokenUrl (); + $callbackUrl = $this->getCallbackUri (); + assert ( ! empty ( $refreshUrl ) ); + assert ( ! empty ( $callbackUrl ) ); + $headers = array ( + 'Authorization' => sprintf ( "Basic %s", base64_encode ( $this->getClientId () . ':' . $this->getClientSecret () ) ) + ); + $postvals = array ( + 'redirect_uri' => $callbackUrl, + 'grant_type' => 'refresh_token', + 'refresh_token' => $this->getAuthorizationToken ()->getRefreshToken () + ); + $response = PostmanUtils::remotePostGetBodyOnly ( $this->getTokenUrl (), $postvals, $headers ); + $this->processResponse ( $response ); + } + public function getAuthorizationUrl() { + return self::AUTHORIZATION_URL; + } + public function getTokenUrl() { + return self::GET_TOKEN_URL; + } + } +} diff --git a/Postman/Postman-Configuration/PostmanConfigurationController.php b/Postman/Postman-Configuration/PostmanConfigurationController.php new file mode 100644 index 0000000..58d26d7 --- /dev/null +++ b/Postman/Postman-Configuration/PostmanConfigurationController.php @@ -0,0 +1,694 @@ +logger = new PostmanLogger ( get_class ( $this ) ); + $this->rootPluginFilenameAndPath = $rootPluginFilenameAndPath; + $this->options = PostmanOptions::getInstance (); + $this->settingsRegistry = new PostmanSettingsRegistry (); + + PostmanUtils::registerAdminMenu ( $this, 'addConfigurationSubmenu' ); + PostmanUtils::registerAdminMenu ( $this, 'addSetupWizardSubmenu' ); + + // hook on the init event + add_action ( 'init', array ( + $this, + 'on_init' + ) ); + + // initialize the scripts, stylesheets and form fields + add_action ( 'admin_init', array ( + $this, + 'on_admin_init' + ) ); + } + + /** + * Functions to execute on the init event + * + * "Typically used by plugins to initialize. The current user is already authenticated by this time." + * ref: http://codex.wordpress.org/Plugin_API/Action_Reference#Actions_Run_During_a_Typical_Request + */ + public function on_init() { + // register Ajax handlers + new PostmanGetHostnameByEmailAjaxController (); + new PostmanManageConfigurationAjaxHandler (); + new PostmanImportConfigurationAjaxController ( $this->options ); + } + + /** + * Fires on the admin_init method + */ + public function on_admin_init() { + // + $this->registerStylesAndScripts (); + $this->settingsRegistry->on_admin_init (); + } + + /** + * Register and add settings + */ + private function registerStylesAndScripts() { + if ($this->logger->isTrace ()) { + $this->logger->trace ( 'registerStylesAndScripts()' ); + } + // register the stylesheet and javascript external resources + $pluginData = apply_filters ( 'postman_get_plugin_metadata', null ); + wp_register_script ( 'postman_manual_config_script', plugins_url ( 'Postman/Postman-Configuration/postman_manual_config.js', $this->rootPluginFilenameAndPath ), array ( + PostmanViewController::JQUERY_SCRIPT, + 'jquery_validation', + PostmanViewController::POSTMAN_SCRIPT + ), $pluginData ['version'] ); + wp_register_script ( 'postman_wizard_script', plugins_url ( 'Postman/Postman-Configuration/postman_wizard.js', $this->rootPluginFilenameAndPath ), array ( + PostmanViewController::JQUERY_SCRIPT, + 'jquery_validation', + 'jquery_steps_script', + PostmanViewController::POSTMAN_SCRIPT, + 'sprintf' + ), $pluginData ['version'] ); + } + + /** + */ + private function addLocalizeScriptsToPage() { + $warning = __ ( 'Warning', Postman::TEXT_DOMAIN ); + /* translators: where %s is the name of the SMTP server */ + wp_localize_script ( 'postman_wizard_script', 'postman_smtp_mitm', sprintf ( '%s: %s', $warning, __ ( 'connected to %1$s instead of %2$s.', Postman::TEXT_DOMAIN ) ) ); + /* translators: where %d is a port number */ + wp_localize_script ( 'postman_wizard_script', 'postman_wizard_bad_redirect_url', __ ( 'You are about to configure OAuth 2.0 with an IP address instead of a domain name. This is not permitted. Either assign a real domain name to your site or add a fake one in your local host file.', Postman::TEXT_DOMAIN ) ); + + // user input + wp_localize_script ( PostmanViewController::POSTMAN_SCRIPT, 'postman_input_sender_email', '#input_' . PostmanOptions::MESSAGE_SENDER_EMAIL ); + wp_localize_script ( PostmanViewController::POSTMAN_SCRIPT, 'postman_input_sender_name', '#input_' . PostmanOptions::MESSAGE_SENDER_NAME ); + wp_localize_script ( PostmanViewController::POSTMAN_SCRIPT, 'postman_port_element_name', '#input_' . PostmanOptions::PORT ); + wp_localize_script ( PostmanViewController::POSTMAN_SCRIPT, 'postman_hostname_element_name', '#input_' . PostmanOptions::HOSTNAME ); + + // the enc input + wp_localize_script ( PostmanViewController::POSTMAN_SCRIPT, 'postman_enc_for_password_el', '#input_enc_type_password' ); + // these are the ids for the