From 05fbc0bcaed4d43fdf333a498d4b0fe27399c6dc Mon Sep 17 00:00:00 2001 From: Steve Sutton Date: Tue, 9 Sep 2014 09:10:44 -0400 Subject: [PATCH] Adding plugins add-logo-to-admin akismet contact-form-7 ml-slider realy-simple-captcha wordfence --- .../add-logo-to-admin/add-logo-to-admin.php | 256 + .../add-logo-to-admin/css/add-logo.css | 6 + .../plugins/add-logo-to-admin/images/logo.png | Bin 0 -> 9152 bytes .../js/add-logo-select-image.js | 35 + .../plugins/add-logo-to-admin/js/add-logo.js | 3 + .../add-logo-to-admin/languages/add-logo.pot | 50 + .../plugins/add-logo-to-admin/readme.txt | 112 + .../add-logo-to-admin/screenshot-1.jpg | Bin 0 -> 54072 bytes .../add-logo-to-admin/screenshot-2.jpg | Bin 0 -> 22323 bytes wp-content/plugins/akismet/.htaccess | 11 + wp-content/plugins/akismet/_inc/akismet.css | 361 + wp-content/plugins/akismet/_inc/akismet.js | 158 + wp-content/plugins/akismet/_inc/form.js | 30 + .../plugins/akismet/_inc/img/logo-full-2x.png | Bin 0 -> 4970 bytes wp-content/plugins/akismet/akismet.php | 59 + .../plugins/akismet/class.akismet-admin.php | 862 + .../plugins/akismet/class.akismet-widget.php | 110 + wp-content/plugins/akismet/class.akismet.php | 933 + wp-content/plugins/akismet/index.php | 2 + wp-content/plugins/akismet/readme.txt | 203 + wp-content/plugins/akismet/views/config.php | 174 + wp-content/plugins/akismet/views/get.php | 5 + wp-content/plugins/akismet/views/notice.php | 102 + wp-content/plugins/akismet/views/start.php | 95 + wp-content/plugins/akismet/views/stats.php | 4 + wp-content/plugins/akismet/views/strict.php | 7 + wp-content/plugins/akismet/wrapper.php | 293 + .../contact-form-7/admin/admin-functions.php | 164 + .../plugins/contact-form-7/admin/admin.php | 453 + .../contact-form-7/admin/css/styles-rtl.css | 21 + .../contact-form-7/admin/css/styles.css | 263 + .../admin/edit-contact-form.php | 117 + .../contact-form-7/admin/images/dropdown.gif | Bin 0 -> 67 bytes .../contact-form-7/admin/images/fade-butt.png | Bin 0 -> 785 bytes .../class-contact-forms-list-table.php | 173 + .../admin/includes/meta-boxes.php | 113 + .../contact-form-7/admin/js/scripts.js | 93 + .../contact-form-7/admin/js/taggenerator.js | 266 + .../contact-form-7/images/ajax-loader.gif | Bin 0 -> 847 bytes .../contact-form-7/includes/capabilities.php | 22 + .../contact-form-7/includes/contact-form.php | 921 + .../contact-form-7/includes/controller.php | 266 + .../includes/css/styles-rtl.css | 13 + .../contact-form-7/includes/css/styles.css | 78 + .../contact-form-7/includes/formatting.php | 198 + .../contact-form-7/includes/functions.php | 392 + .../smoothness/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 212 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 0 -> 208 bytes .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 0 -> 335 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 207 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 0 -> 262 bytes .../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 0 -> 262 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 332 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 0 -> 280 bytes .../images/ui-icons_222222_256x240.png | Bin 0 -> 6922 bytes .../images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4549 bytes .../images/ui-icons_454545_256x240.png | Bin 0 -> 6992 bytes .../images/ui-icons_888888_256x240.png | Bin 0 -> 6999 bytes .../images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4549 bytes .../jquery-ui/themes/smoothness/jquery-ui.css | 1177 + .../themes/smoothness/jquery-ui.min.css | 5 + .../themes/smoothness/jquery.ui.theme.css | 406 + .../contact-form-7/includes/js/jquery.form.js | 1277 + .../includes/js/jquery.form.min.js | 11 + .../contact-form-7/includes/js/scripts.js | 356 + .../plugins/contact-form-7/includes/mail.php | 378 + .../plugins/contact-form-7/includes/pipe.php | 79 + .../contact-form-7/includes/shortcodes.php | 420 + .../contact-form-7/includes/submission.php | 295 + .../contact-form-7/includes/upgrade.php | 76 + .../languages/contact-form-7-af.mo | Bin 0 -> 14283 bytes .../languages/contact-form-7-ar.mo | Bin 0 -> 20808 bytes .../languages/contact-form-7-az_AZ.mo | Bin 0 -> 14824 bytes .../languages/contact-form-7-be_BY.mo | Bin 0 -> 18379 bytes .../languages/contact-form-7-bg_BG.mo | Bin 0 -> 5969 bytes .../languages/contact-form-7-bn_BD.mo | Bin 0 -> 10451 bytes .../languages/contact-form-7-bn_IN.mo | Bin 0 -> 25272 bytes .../languages/contact-form-7-bs.mo | Bin 0 -> 7278 bytes .../languages/contact-form-7-ca.mo | Bin 0 -> 15696 bytes .../languages/contact-form-7-ckb.mo | Bin 0 -> 23110 bytes .../languages/contact-form-7-cs_CZ.mo | Bin 0 -> 20022 bytes .../languages/contact-form-7-da_DK.mo | Bin 0 -> 15840 bytes .../languages/contact-form-7-de_DE.mo | Bin 0 -> 20321 bytes .../languages/contact-form-7-el.mo | Bin 0 -> 26227 bytes .../languages/contact-form-7-eo_EO.mo | Bin 0 -> 13743 bytes .../languages/contact-form-7-es_ES.mo | Bin 0 -> 17795 bytes .../languages/contact-form-7-et.mo | Bin 0 -> 14053 bytes .../languages/contact-form-7-eu.mo | Bin 0 -> 15843 bytes .../languages/contact-form-7-fa_IR.mo | Bin 0 -> 23473 bytes .../languages/contact-form-7-fi.mo | Bin 0 -> 19370 bytes .../languages/contact-form-7-fr_FR.mo | Bin 0 -> 20449 bytes .../languages/contact-form-7-ga_IE.mo | Bin 0 -> 16281 bytes .../languages/contact-form-7-gl_ES.mo | Bin 0 -> 14679 bytes .../languages/contact-form-7-gu_IN.mo | Bin 0 -> 24472 bytes .../languages/contact-form-7-he_IL.mo | Bin 0 -> 15688 bytes .../languages/contact-form-7-hi_IN.mo | Bin 0 -> 21274 bytes .../languages/contact-form-7-hr.mo | Bin 0 -> 7313 bytes .../languages/contact-form-7-ht.mo | Bin 0 -> 18966 bytes .../languages/contact-form-7-hu_HU.mo | Bin 0 -> 20619 bytes .../languages/contact-form-7-hy_AM.mo | Bin 0 -> 18925 bytes .../languages/contact-form-7-id_ID.mo | Bin 0 -> 11604 bytes .../languages/contact-form-7-it_IT.mo | Bin 0 -> 16139 bytes .../languages/contact-form-7-ja.mo | Bin 0 -> 22444 bytes .../languages/contact-form-7-ka_GE.mo | Bin 0 -> 21688 bytes .../languages/contact-form-7-ko_KR.mo | Bin 0 -> 20568 bytes .../languages/contact-form-7-lt_LT.mo | Bin 0 -> 16998 bytes .../languages/contact-form-7-lv.mo | Bin 0 -> 14442 bytes .../languages/contact-form-7-mk_MK.mo | Bin 0 -> 18685 bytes .../languages/contact-form-7-ml_IN.mo | Bin 0 -> 21032 bytes .../languages/contact-form-7-ms_MY.mo | Bin 0 -> 13610 bytes .../languages/contact-form-7-mt_MT.mo | Bin 0 -> 13870 bytes .../languages/contact-form-7-nb_NO.mo | Bin 0 -> 14412 bytes .../languages/contact-form-7-nl_NL.mo | Bin 0 -> 19615 bytes .../languages/contact-form-7-pa_IN.mo | Bin 0 -> 26659 bytes .../languages/contact-form-7-pl_PL.mo | Bin 0 -> 17945 bytes .../languages/contact-form-7-pt_BR.mo | Bin 0 -> 19735 bytes .../languages/contact-form-7-pt_PT.mo | Bin 0 -> 14108 bytes .../languages/contact-form-7-ro_RO.mo | Bin 0 -> 18098 bytes .../languages/contact-form-7-ru_RU.mo | Bin 0 -> 23253 bytes .../languages/contact-form-7-si_LK.mo | Bin 0 -> 22639 bytes .../languages/contact-form-7-sk_SK.mo | Bin 0 -> 20185 bytes .../languages/contact-form-7-sl_SI.mo | Bin 0 -> 13836 bytes .../languages/contact-form-7-sq.mo | Bin 0 -> 5017 bytes .../languages/contact-form-7-sr_RS.mo | Bin 0 -> 18156 bytes .../languages/contact-form-7-sv_SE.mo | Bin 0 -> 14324 bytes .../languages/contact-form-7-ta.mo | Bin 0 -> 26093 bytes .../languages/contact-form-7-th.mo | Bin 0 -> 28412 bytes .../languages/contact-form-7-tl.mo | Bin 0 -> 17719 bytes .../languages/contact-form-7-tr_TR.mo | Bin 0 -> 19835 bytes .../languages/contact-form-7-uk.mo | Bin 0 -> 24017 bytes .../languages/contact-form-7-vi.mo | Bin 0 -> 14084 bytes .../languages/contact-form-7-zh_CN.mo | Bin 0 -> 16834 bytes .../languages/contact-form-7-zh_TW.mo | Bin 0 -> 15342 bytes .../languages/contact-form-7.pot | 1159 + .../contact-form-7/languages/readme.txt | 9 + wp-content/plugins/contact-form-7/license.txt | 339 + .../contact-form-7/modules/acceptance.php | 173 + .../contact-form-7/modules/akismet.php | 145 + .../contact-form-7/modules/captcha.php | 532 + .../contact-form-7/modules/checkbox.php | 325 + .../plugins/contact-form-7/modules/date.php | 206 + .../plugins/contact-form-7/modules/file.php | 368 + .../contact-form-7/modules/flamingo.php | 171 + .../contact-form-7/modules/jetpack.php | 26 + .../plugins/contact-form-7/modules/listo.php | 32 + .../plugins/contact-form-7/modules/number.php | 216 + .../plugins/contact-form-7/modules/quiz.php | 205 + .../contact-form-7/modules/response.php | 16 + .../plugins/contact-form-7/modules/select.php | 194 + .../plugins/contact-form-7/modules/submit.php | 80 + .../plugins/contact-form-7/modules/text.php | 268 + .../contact-form-7/modules/textarea.php | 158 + wp-content/plugins/contact-form-7/readme.txt | 157 + .../plugins/contact-form-7/settings.php | 76 + .../plugins/contact-form-7/uninstall.php | 26 + .../contact-form-7/wp-contact-form-7.php | 67 + .../ml-slider/assets/colorbox/colorbox.css | 86 + .../assets/colorbox/images/border.png | Bin 0 -> 112 bytes .../assets/colorbox/images/controls.png | Bin 0 -> 2893 bytes .../images/ie6/borderBottomCenter.png | Bin 0 -> 111 bytes .../colorbox/images/ie6/borderBottomLeft.png | Bin 0 -> 215 bytes .../colorbox/images/ie6/borderBottomRight.png | Bin 0 -> 217 bytes .../colorbox/images/ie6/borderMiddleLeft.png | Bin 0 -> 108 bytes .../colorbox/images/ie6/borderMiddleRight.png | Bin 0 -> 108 bytes .../colorbox/images/ie6/borderTopCenter.png | Bin 0 -> 111 bytes .../colorbox/images/ie6/borderTopLeft.png | Bin 0 -> 216 bytes .../colorbox/images/ie6/borderTopRight.png | Bin 0 -> 214 bytes .../assets/colorbox/images/loading.gif | Bin 0 -> 9427 bytes .../colorbox/images/loading_background.png | Bin 0 -> 157 bytes .../assets/colorbox/images/overlay.png | Bin 0 -> 182 bytes .../assets/colorbox/jquery.colorbox-min.js | 1061 + .../assets/easing/jQuery.easing.min.js | 44 + .../ml-slider/assets/metaslider/admin.css | 903 + .../ml-slider/assets/metaslider/admin.js | 314 + .../ml-slider/assets/metaslider/edit.png | Bin 0 -> 205 bytes .../assets/metaslider/matchalabs.png | Bin 0 -> 609 bytes .../ml-slider/assets/metaslider/public.css | 116 + .../sliders/coinslider/coin-slider-styles.css | 59 + .../sliders/coinslider/coin-slider.min.js | 11 + .../sliders/flexslider/bg_direction_nav.png | Bin 0 -> 1866 bytes .../assets/sliders/flexslider/flexslider.css | 161 + .../flexslider/jquery.flexslider-min.js | 1163 + .../nivoslider/jquery.nivo.slider.pack.js | 12 + .../assets/sliders/nivoslider/nivo-slider.css | 123 + .../sliders/nivoslider/themes/bar/arrows.png | Bin 0 -> 824 bytes .../sliders/nivoslider/themes/bar/bar.css | 131 + .../sliders/nivoslider/themes/bar/bullets.png | Bin 0 -> 1281 bytes .../sliders/nivoslider/themes/bar/loading.gif | Bin 0 -> 1737 bytes .../sliders/nivoslider/themes/dark/arrows.png | Bin 0 -> 3088 bytes .../nivoslider/themes/dark/bullets.png | Bin 0 -> 3146 bytes .../sliders/nivoslider/themes/dark/dark.css | 101 + .../nivoslider/themes/dark/loading.gif | Bin 0 -> 1737 bytes .../nivoslider/themes/default/arrows.png | Bin 0 -> 824 bytes .../nivoslider/themes/default/bullets.png | Bin 0 -> 1281 bytes .../nivoslider/themes/default/default.css | 92 + .../nivoslider/themes/default/loading.gif | Bin 0 -> 1737 bytes .../nivoslider/themes/light/arrows.png | Bin 0 -> 3247 bytes .../nivoslider/themes/light/bullets.png | Bin 0 -> 3288 bytes .../sliders/nivoslider/themes/light/light.css | 101 + .../nivoslider/themes/light/loading.gif | Bin 0 -> 1737 bytes .../responsiveslides/responsiveslides.css | 117 + .../responsiveslides/responsiveslides.min.js | 8 + .../ml-slider/assets/tipsy/jquery.tipsy.js | 258 + .../plugins/ml-slider/assets/tipsy/tipsy.css | 25 + .../inc/metaslider.imagehelper.class.php | 363 + .../inc/metaslider.systemcheck.class.php | 151 + .../ml-slider/inc/metaslider.widget.class.php | 126 + .../plugins/ml-slider/inc/simple_html_dom.php | 1703 + .../ml-slider/inc/slide/metaslide.class.php | 317 + .../inc/slide/metaslide.image.class.php | 464 + .../ml-slider/inc/slider/metaslider.class.php | 555 + .../inc/slider/metaslider.coin.class.php | 58 + .../inc/slider/metaslider.flex.class.php | 187 + .../inc/slider/metaslider.nivo.class.php | 114 + .../slider/metaslider.responsive.class.php | 59 + .../ml-slider/languages/metaslider-de_DE.mo | Bin 0 -> 7577 bytes .../ml-slider/languages/metaslider-de_DE.po | 660 + .../ml-slider/languages/metaslider-es_ES.mo | Bin 0 -> 4960 bytes .../ml-slider/languages/metaslider-es_ES.po | 653 + .../ml-slider/languages/metaslider-fa_IR.mo | Bin 0 -> 11327 bytes .../ml-slider/languages/metaslider-fa_IR.po | 604 + .../ml-slider/languages/metaslider-fr_FR.mo | Bin 0 -> 4670 bytes .../ml-slider/languages/metaslider-fr_FR.po | 659 + .../ml-slider/languages/metaslider-he_IL.mo | Bin 0 -> 11122 bytes .../ml-slider/languages/metaslider-he_IL.po | 1044 + .../ml-slider/languages/metaslider-hr_HR.mo | Bin 0 -> 9582 bytes .../ml-slider/languages/metaslider-hr_HR.po | 603 + .../ml-slider/languages/metaslider-hu_HU.mo | Bin 0 -> 9853 bytes .../ml-slider/languages/metaslider-hu_HU.po | 600 + .../ml-slider/languages/metaslider-ja.mo | Bin 0 -> 11643 bytes .../ml-slider/languages/metaslider-ja.po | 633 + .../ml-slider/languages/metaslider-nb_NO.mo | Bin 0 -> 9770 bytes .../ml-slider/languages/metaslider-nb_NO.po | 602 + .../ml-slider/languages/metaslider-nl_NL.mo | Bin 0 -> 7321 bytes .../ml-slider/languages/metaslider-nl_NL.po | 602 + .../ml-slider/languages/metaslider-pl_PL.mo | Bin 0 -> 5160 bytes .../ml-slider/languages/metaslider-pl_PL.po | 652 + .../ml-slider/languages/metaslider-ro_RO.mo | Bin 0 -> 10001 bytes .../ml-slider/languages/metaslider-ro_RO.po | 604 + .../ml-slider/languages/metaslider-ru_RU.mo | Bin 0 -> 12508 bytes .../ml-slider/languages/metaslider-ru_RU.po | 782 + .../ml-slider/languages/metaslider-zh_CN.mo | Bin 0 -> 6377 bytes .../ml-slider/languages/metaslider-zh_CN.po | 631 + .../ml-slider/languages/metaslider-zh_TW.mo | Bin 0 -> 6414 bytes .../ml-slider/languages/metaslider-zh_TW.po | 631 + .../plugins/ml-slider/languages/metaslider.mo | Bin 0 -> 444 bytes .../plugins/ml-slider/languages/metaslider.po | 659 + wp-content/plugins/ml-slider/ml-slider.php | 1757 + wp-content/plugins/ml-slider/readme.txt | 465 + .../really-simple-captcha/gentium/FONTLOG.txt | 153 + .../gentium/GENTIUM-FAQ.txt | 249 + .../really-simple-captcha/gentium/GenBasB.ttf | Bin 0 -> 271648 bytes .../gentium/GenBasBI.ttf | Bin 0 -> 250668 bytes .../really-simple-captcha/gentium/GenBasI.ttf | Bin 0 -> 263504 bytes .../really-simple-captcha/gentium/GenBasR.ttf | Bin 0 -> 269048 bytes .../gentium/GenBkBasB.ttf | Bin 0 -> 271832 bytes .../gentium/GenBkBasBI.ttf | Bin 0 -> 249924 bytes .../gentium/GenBkBasI.ttf | Bin 0 -> 266156 bytes .../gentium/GenBkBasR.ttf | Bin 0 -> 272460 bytes .../really-simple-captcha/gentium/OFL-FAQ.txt | 216 + .../really-simple-captcha/gentium/OFL.txt | 94 + .../plugins/really-simple-captcha/license.txt | 339 + .../plugins/really-simple-captcha/readme.txt | 113 + .../really-simple-captcha.php | 315 + .../really-simple-captcha/tmp/index.php | 3 + wp-content/plugins/wordfence/css/colorbox.css | 64 + wp-content/plugins/wordfence/css/diff.css | 118 + wp-content/plugins/wordfence/css/dt_table.css | 54 + wp-content/plugins/wordfence/css/fullLog.css | 21 + wp-content/plugins/wordfence/css/iptraf.css | 49 + wp-content/plugins/wordfence/css/main.css | 422 + wp-content/plugins/wordfence/css/phpinfo.css | 30 + .../wordfence/images/back_disabled.jpg | Bin 0 -> 1220 bytes .../plugins/wordfence/images/back_enabled.jpg | Bin 0 -> 1279 bytes .../wordfence/images/button-grad-grey.png | Bin 0 -> 239 bytes .../wordfence/images/forward_disabled.jpg | Bin 0 -> 1220 bytes .../wordfence/images/forward_enabled.jpg | Bin 0 -> 1259 bytes .../plugins/wordfence/images/icons/ajax24.gif | Bin 0 -> 2545 bytes .../plugins/wordfence/images/icons/ajax3.gif | Bin 0 -> 27928 bytes .../wordfence/images/icons/ajaxRed16.gif | Bin 0 -> 1849 bytes .../wordfence/images/icons/ajaxScan.gif | Bin 0 -> 723 bytes .../wordfence/images/icons/ajaxWhite32x32.gif | Bin 0 -> 3208 bytes .../wordfence/images/icons/arrow_refresh.png | Bin 0 -> 685 bytes .../wordfence/images/icons/bullet_yellow.png | Bin 0 -> 287 bytes .../wordfence/images/icons/email_go.png | Bin 0 -> 754 bytes .../wordfence/images/icons/error128.png | Bin 0 -> 12556 bytes .../wordfence/images/icons/magnifier.png | Bin 0 -> 615 bytes .../wordfence/images/icons/tick128.png | Bin 0 -> 13236 bytes .../wordfence/images/icons/warning128.png | Bin 0 -> 11002 bytes .../wordfence/images/lightbox-controls.png | Bin 0 -> 3230 bytes .../plugins/wordfence/images/loading.gif | Bin 0 -> 2545 bytes .../wordfence/images/loading_background.png | Bin 0 -> 157 bytes .../plugins/wordfence/images/sort_asc.gif | Bin 0 -> 52 bytes .../wordfence/images/sort_asc_disabled.gif | Bin 0 -> 1098 bytes .../plugins/wordfence/images/sort_both.gif | Bin 0 -> 57 bytes .../plugins/wordfence/images/sort_desc.gif | Bin 0 -> 52 bytes .../wordfence/images/sort_desc_disabled.gif | Bin 0 -> 1098 bytes .../wordfence/images/wordfence-logo-16x16.png | Bin 0 -> 3682 bytes .../wordfence/images/wordfence-logo-32x32.png | Bin 0 -> 2892 bytes .../wordfence/images/wordfence-logo-64x64.png | Bin 0 -> 11649 bytes .../wordfence/images/wordfenceFalcon.png | Bin 0 -> 6132 bytes .../images/wordfenceFalconEngineSmall.png | Bin 0 -> 8615 bytes .../wordfence/images/wordfenceFalconSmall.png | Bin 0 -> 694 bytes wp-content/plugins/wordfence/index.php | 3 + wp-content/plugins/wordfence/js/admin.js | 1619 + .../wordfence/js/jquery.colorbox-min.js | 4 + .../wordfence/js/jquery.dataTables.min.js | 151 + .../plugins/wordfence/js/jquery.tmpl.min.js | 10 + .../plugins/wordfence/js/jquery.tools.min.js | 15 + wp-content/plugins/wordfence/js/perf.js | 36 + wp-content/plugins/wordfence/js/tourTip.js | 162 + wp-content/plugins/wordfence/lib/.htaccess | 2 + wp-content/plugins/wordfence/lib/Diff.php | 176 + .../wordfence/lib/Diff/Renderer/Abstract.php | 82 + .../lib/Diff/Renderer/Html/Array.php | 224 + .../lib/Diff/Renderer/Html/SideBySide.php | 163 + .../wordfence/lib/Diff/SequenceMatcher.php | 742 + wp-content/plugins/wordfence/lib/GeoIP.dat | Bin 0 -> 719284 bytes wp-content/plugins/wordfence/lib/IPTraf.php | 32 + wp-content/plugins/wordfence/lib/conntest.php | 84 + .../plugins/wordfence/lib/dashboard.php | 49 + .../plugins/wordfence/lib/diffResult.php | 45 + .../wordfence/lib/email_genericAlert.php | 31 + .../plugins/wordfence/lib/email_newIssues.php | 40 + .../wordfence/lib/email_unlockRequest.php | 22 + .../plugins/wordfence/lib/menuHeader.php | 4 + .../plugins/wordfence/lib/menu_activity.php | 235 + .../plugins/wordfence/lib/menu_blockedIPs.php | 182 + .../wordfence/lib/menu_countryBlocking.php | 121 + .../plugins/wordfence/lib/menu_options.php | 384 + .../wordfence/lib/menu_rangeBlocking.php | 96 + .../plugins/wordfence/lib/menu_scan.php | 803 + .../wordfence/lib/menu_scanSchedule.php | 112 + .../plugins/wordfence/lib/menu_sitePerf.php | 105 + .../wordfence/lib/menu_sitePerfStats.php | 164 + .../plugins/wordfence/lib/menu_twoFactor.php | 108 + .../plugins/wordfence/lib/menu_whois.php | 86 + .../plugins/wordfence/lib/pageTitle.php | 1 + .../plugins/wordfence/lib/schedWeekEntry.php | 29 + wp-content/plugins/wordfence/lib/sysinfo.php | 21 + .../plugins/wordfence/lib/unknownFiles.php | 157 + .../wordfence/lib/viewFullActivityLog.php | 26 + wp-content/plugins/wordfence/lib/wf503.php | 24 + wp-content/plugins/wordfence/lib/wfAPI.php | 210 + wp-content/plugins/wordfence/lib/wfAction.php | 4 + wp-content/plugins/wordfence/lib/wfArray.php | 46 + .../plugins/wordfence/lib/wfBrowscap.php | 120 + .../plugins/wordfence/lib/wfBrowscapCache.php | 55776 ++++++++++++++++ .../plugins/wordfence/lib/wfBulkCountries.php | 253 + wp-content/plugins/wordfence/lib/wfCache.php | 676 + wp-content/plugins/wordfence/lib/wfConfig.php | 779 + .../plugins/wordfence/lib/wfCountryMap.php | 259 + wp-content/plugins/wordfence/lib/wfCrawl.php | 94 + wp-content/plugins/wordfence/lib/wfDB.php | 114 + wp-content/plugins/wordfence/lib/wfDict.php | 90 + wp-content/plugins/wordfence/lib/wfGeoIP.php | 765 + wp-content/plugins/wordfence/lib/wfIssues.php | 257 + .../plugins/wordfence/lib/wfLockedOut.php | 23 + wp-content/plugins/wordfence/lib/wfLog.php | 878 + wp-content/plugins/wordfence/lib/wfRate.php | 18 + wp-content/plugins/wordfence/lib/wfScan.php | 198 + .../plugins/wordfence/lib/wfScanEngine.php | 1013 + wp-content/plugins/wordfence/lib/wfSchema.php | 214 + .../plugins/wordfence/lib/wfUnlockMsg.php | 6 + wp-content/plugins/wordfence/lib/wfUtils.php | 648 + .../plugins/wordfence/lib/wfViewResult.php | 26 + .../plugins/wordfence/lib/whois/.htaccess | 2 + .../plugins/wordfence/lib/whois/LICENSE | 340 + .../wordfence/lib/whois/handler.template.php | 40 + .../plugins/wordfence/lib/whois/npdata.ser | 1 + .../plugins/wordfence/lib/whois/whois.ae.php | 58 + .../wordfence/lib/whois/whois.aero.php | 45 + .../plugins/wordfence/lib/whois/whois.ag.php | 45 + .../wordfence/lib/whois/whois.asia.php | 44 + .../plugins/wordfence/lib/whois/whois.at.php | 102 + .../plugins/wordfence/lib/whois/whois.au.php | 63 + .../plugins/wordfence/lib/whois/whois.be.php | 76 + .../plugins/wordfence/lib/whois/whois.biz.php | 45 + .../plugins/wordfence/lib/whois/whois.br.php | 84 + .../plugins/wordfence/lib/whois/whois.ca.php | 76 + .../plugins/wordfence/lib/whois/whois.cat.php | 47 + .../plugins/wordfence/lib/whois/whois.ch.php | 82 + .../plugins/wordfence/lib/whois/whois.cl.php | 56 + .../wordfence/lib/whois/whois.client.php | 595 + .../plugins/wordfence/lib/whois/whois.cn.php | 91 + .../plugins/wordfence/lib/whois/whois.co.php | 43 + .../wordfence/lib/whois/whois.co.za.php | 73 + .../wordfence/lib/whois/whois.coop.php | 106 + .../plugins/wordfence/lib/whois/whois.cz.php | 73 + .../plugins/wordfence/lib/whois/whois.de.php | 78 + .../plugins/wordfence/lib/whois/whois.edu.php | 62 + .../plugins/wordfence/lib/whois/whois.eu.php | 85 + .../plugins/wordfence/lib/whois/whois.fi.php | 57 + .../plugins/wordfence/lib/whois/whois.fj.php | 67 + .../plugins/wordfence/lib/whois/whois.fm.php | 80 + .../plugins/wordfence/lib/whois/whois.fr.php | 78 + .../lib/whois/whois.gtld.afternic.php | 51 + .../lib/whois/whois.gtld.alldomains.php | 49 + .../wordfence/lib/whois/whois.gtld.ascio.php | 51 + .../lib/whois/whois.gtld.assorted.php | 51 + .../lib/whois/whois.gtld.corporatedomains.php | 53 + .../lib/whois/whois.gtld.directnic.php | 53 + .../lib/whois/whois.gtld.domaindiscover.php | 51 + .../lib/whois/whois.gtld.domainpeople.php | 59 + .../lib/whois/whois.gtld.dotster.php | 53 + .../lib/whois/whois.gtld.dreamhost.php | 54 + .../wordfence/lib/whois/whois.gtld.enom.php | 62 + .../lib/whois/whois.gtld.fabulous.php | 54 + .../lib/whois/whois.gtld.fastdomain.php | 78 + .../wordfence/lib/whois/whois.gtld.gandi.php | 56 + .../lib/whois/whois.gtld.genericb.php | 40 + .../lib/whois/whois.gtld.godaddy.php | 56 + .../wordfence/lib/whois/whois.gtld.iana.php | 51 + .../lib/whois/whois.gtld.interdomain.php | 80 + .../lib/whois/whois.gtld.itsyourdomain.php | 52 + .../wordfence/lib/whois/whois.gtld.joker.php | 78 + .../lib/whois/whois.gtld.markmonitor.php | 55 + .../lib/whois/whois.gtld.melbourneit.php | 59 + .../lib/whois/whois.gtld.moniker.php | 52 + .../lib/whois/whois.gtld.namejuice.php | 53 + .../lib/whois/whois.gtld.nameking.php | 70 + .../lib/whois/whois.gtld.names4ever.php | 54 + .../lib/whois/whois.gtld.namevault.php | 52 + .../lib/whois/whois.gtld.networksolutions.php | 50 + .../wordfence/lib/whois/whois.gtld.nicco.php | 62 + .../lib/whois/whois.gtld.nicline.php | 51 + .../lib/whois/whois.gtld.onlinenic.php | 83 + .../lib/whois/whois.gtld.opensrs.php | 58 + .../wordfence/lib/whois/whois.gtld.ovh.php | 51 + .../wordfence/lib/whois/whois.gtld.php | 81 + .../wordfence/lib/whois/whois.gtld.psiusa.php | 90 + .../whois/whois.gtld.publicdomainregistry.php | 57 + .../lib/whois/whois.gtld.register.php | 62 + .../lib/whois/whois.gtld.rrpproxy.php | 92 + .../lib/whois/whois.gtld.schlund.php | 86 + .../lib/whois/whois.gtld.srsplus.php | 51 + .../lib/whois/whois.gtld.tmagnic.php | 52 + .../wordfence/lib/whois/whois.gtld.tvcorp.php | 50 + .../lib/whois/whois.gtld.wildwestdomains.php | 52 + .../plugins/wordfence/lib/whois/whois.hu.php | 95 + .../wordfence/lib/whois/whois.icon.png | Bin 0 -> 571 bytes .../wordfence/lib/whois/whois.idna.php | 969 + .../plugins/wordfence/lib/whois/whois.ie.php | 64 + .../plugins/wordfence/lib/whois/whois.in.php | 45 + .../wordfence/lib/whois/whois.info.php | 45 + .../plugins/wordfence/lib/whois/whois.int.php | 44 + .../wordfence/lib/whois/whois.ip.afrinic.php | 77 + .../wordfence/lib/whois/whois.ip.apnic.php | 122 + .../wordfence/lib/whois/whois.ip.arin.php | 78 + .../wordfence/lib/whois/whois.ip.krnic.php | 112 + .../wordfence/lib/whois/whois.ip.lacnic.php | 79 + .../wordfence/lib/whois/whois.ip.lib.php | 120 + .../plugins/wordfence/lib/whois/whois.ip.php | 285 + .../wordfence/lib/whois/whois.ip.ripe.php | 85 + .../plugins/wordfence/lib/whois/whois.ir.php | 60 + .../plugins/wordfence/lib/whois/whois.is.php | 69 + .../plugins/wordfence/lib/whois/whois.it.php | 78 + .../plugins/wordfence/lib/whois/whois.jp.php | 111 + .../plugins/wordfence/lib/whois/whois.lt.php | 64 + .../plugins/wordfence/lib/whois/whois.lu.php | 78 + .../plugins/wordfence/lib/whois/whois.ly.php | 72 + .../wordfence/lib/whois/whois.main.php | 327 + .../plugins/wordfence/lib/whois/whois.me.php | 45 + .../wordfence/lib/whois/whois.mobi.php | 47 + .../wordfence/lib/whois/whois.museum.php | 45 + .../plugins/wordfence/lib/whois/whois.mx.php | 70 + .../wordfence/lib/whois/whois.name.php | 45 + .../plugins/wordfence/lib/whois/whois.nl.php | 88 + .../plugins/wordfence/lib/whois/whois.nu.php | 90 + .../plugins/wordfence/lib/whois/whois.nz.php | 102 + .../plugins/wordfence/lib/whois/whois.org.php | 47 + .../wordfence/lib/whois/whois.org.za.php | 64 + .../wordfence/lib/whois/whois.parser.php | 873 + .../plugins/wordfence/lib/whois/whois.pl.php | 54 + .../plugins/wordfence/lib/whois/whois.pro.php | 43 + .../plugins/wordfence/lib/whois/whois.pt.php | 81 + .../plugins/wordfence/lib/whois/whois.ro.php | 99 + .../plugins/wordfence/lib/whois/whois.ru.php | 63 + .../wordfence/lib/whois/whois.rwhois.php | 58 + .../plugins/wordfence/lib/whois/whois.sc.php | 45 + .../plugins/wordfence/lib/whois/whois.se.php | 58 + .../wordfence/lib/whois/whois.servers.php | 252 + .../plugins/wordfence/lib/whois/whois.si.php | 55 + .../plugins/wordfence/lib/whois/whois.su.php | 63 + .../plugins/wordfence/lib/whois/whois.tel.php | 45 + .../wordfence/lib/whois/whois.travel.php | 43 + .../plugins/wordfence/lib/whois/whois.uk.php | 72 + .../plugins/wordfence/lib/whois/whois.us.php | 44 + .../wordfence/lib/whois/whois.utils.php | 152 + .../plugins/wordfence/lib/whois/whois.ve.php | 75 + .../plugins/wordfence/lib/whois/whois.ws.php | 76 + .../wordfence/lib/whois/whois.zanet.php | 90 + .../plugins/wordfence/lib/wordfenceClass.php | 2827 + .../wordfence/lib/wordfenceConstants.php | 11 + .../plugins/wordfence/lib/wordfenceHash.php | 371 + .../wordfence/lib/wordfenceScanner.php | 347 + .../wordfence/lib/wordfenceURLHoover.php | 275 + wp-content/plugins/wordfence/readme.txt | 987 + wp-content/plugins/wordfence/tmp/.htaccess | 2 + .../plugins/wordfence/tmp/configCache.php | 4 + wp-content/plugins/wordfence/wordfence.php | 28 + 502 files changed, 125897 insertions(+) create mode 100644 wp-content/plugins/add-logo-to-admin/add-logo-to-admin.php create mode 100644 wp-content/plugins/add-logo-to-admin/css/add-logo.css create mode 100644 wp-content/plugins/add-logo-to-admin/images/logo.png create mode 100644 wp-content/plugins/add-logo-to-admin/js/add-logo-select-image.js create mode 100644 wp-content/plugins/add-logo-to-admin/js/add-logo.js create mode 100644 wp-content/plugins/add-logo-to-admin/languages/add-logo.pot create mode 100644 wp-content/plugins/add-logo-to-admin/readme.txt create mode 100644 wp-content/plugins/add-logo-to-admin/screenshot-1.jpg create mode 100644 wp-content/plugins/add-logo-to-admin/screenshot-2.jpg create mode 100644 wp-content/plugins/akismet/.htaccess create mode 100644 wp-content/plugins/akismet/_inc/akismet.css create mode 100644 wp-content/plugins/akismet/_inc/akismet.js create mode 100644 wp-content/plugins/akismet/_inc/form.js create mode 100644 wp-content/plugins/akismet/_inc/img/logo-full-2x.png create mode 100644 wp-content/plugins/akismet/akismet.php create mode 100644 wp-content/plugins/akismet/class.akismet-admin.php create mode 100644 wp-content/plugins/akismet/class.akismet-widget.php create mode 100644 wp-content/plugins/akismet/class.akismet.php create mode 100644 wp-content/plugins/akismet/index.php create mode 100644 wp-content/plugins/akismet/readme.txt create mode 100644 wp-content/plugins/akismet/views/config.php create mode 100644 wp-content/plugins/akismet/views/get.php create mode 100644 wp-content/plugins/akismet/views/notice.php create mode 100644 wp-content/plugins/akismet/views/start.php create mode 100644 wp-content/plugins/akismet/views/stats.php create mode 100644 wp-content/plugins/akismet/views/strict.php create mode 100644 wp-content/plugins/akismet/wrapper.php create mode 100644 wp-content/plugins/contact-form-7/admin/admin-functions.php create mode 100644 wp-content/plugins/contact-form-7/admin/admin.php create mode 100644 wp-content/plugins/contact-form-7/admin/css/styles-rtl.css create mode 100644 wp-content/plugins/contact-form-7/admin/css/styles.css create mode 100644 wp-content/plugins/contact-form-7/admin/edit-contact-form.php create mode 100644 wp-content/plugins/contact-form-7/admin/images/dropdown.gif create mode 100644 wp-content/plugins/contact-form-7/admin/images/fade-butt.png create mode 100644 wp-content/plugins/contact-form-7/admin/includes/class-contact-forms-list-table.php create mode 100644 wp-content/plugins/contact-form-7/admin/includes/meta-boxes.php create mode 100644 wp-content/plugins/contact-form-7/admin/js/scripts.js create mode 100644 wp-content/plugins/contact-form-7/admin/js/taggenerator.js create mode 100644 wp-content/plugins/contact-form-7/images/ajax-loader.gif create mode 100644 wp-content/plugins/contact-form-7/includes/capabilities.php create mode 100644 wp-content/plugins/contact-form-7/includes/contact-form.php create mode 100644 wp-content/plugins/contact-form-7/includes/controller.php create mode 100644 wp-content/plugins/contact-form-7/includes/css/styles-rtl.css create mode 100644 wp-content/plugins/contact-form-7/includes/css/styles.css create mode 100644 wp-content/plugins/contact-form-7/includes/formatting.php create mode 100644 wp-content/plugins/contact-form-7/includes/functions.php create mode 100644 wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/images/animated-overlay.gif create mode 100644 wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100644 wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/images/ui-bg_flat_75_ffffff_40x100.png create mode 100644 wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png create mode 100644 wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/images/ui-bg_glass_65_ffffff_1x400.png create mode 100644 wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/images/ui-bg_glass_75_dadada_1x400.png create mode 100644 wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png create mode 100644 wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100644 wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png create mode 100644 wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/images/ui-icons_222222_256x240.png create mode 100644 wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/images/ui-icons_2e83ff_256x240.png create mode 100644 wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/images/ui-icons_454545_256x240.png create mode 100644 wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/images/ui-icons_888888_256x240.png create mode 100644 wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/images/ui-icons_cd0a0a_256x240.png create mode 100644 wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/jquery-ui.css create mode 100644 wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/jquery-ui.min.css create mode 100644 wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/jquery.ui.theme.css create mode 100644 wp-content/plugins/contact-form-7/includes/js/jquery.form.js create mode 100644 wp-content/plugins/contact-form-7/includes/js/jquery.form.min.js create mode 100644 wp-content/plugins/contact-form-7/includes/js/scripts.js create mode 100644 wp-content/plugins/contact-form-7/includes/mail.php create mode 100644 wp-content/plugins/contact-form-7/includes/pipe.php create mode 100644 wp-content/plugins/contact-form-7/includes/shortcodes.php create mode 100644 wp-content/plugins/contact-form-7/includes/submission.php create mode 100644 wp-content/plugins/contact-form-7/includes/upgrade.php create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-af.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-ar.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-az_AZ.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-be_BY.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-bg_BG.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-bn_BD.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-bn_IN.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-bs.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-ca.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-ckb.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-cs_CZ.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-da_DK.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-de_DE.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-el.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-eo_EO.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-es_ES.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-et.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-eu.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-fa_IR.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-fi.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-fr_FR.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-ga_IE.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-gl_ES.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-gu_IN.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-he_IL.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-hi_IN.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-hr.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-ht.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-hu_HU.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-hy_AM.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-id_ID.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-it_IT.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-ja.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-ka_GE.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-ko_KR.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-lt_LT.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-lv.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-mk_MK.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-ml_IN.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-ms_MY.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-mt_MT.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-nb_NO.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-nl_NL.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-pa_IN.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-pl_PL.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-pt_BR.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-pt_PT.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-ro_RO.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-ru_RU.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-si_LK.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-sk_SK.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-sl_SI.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-sq.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-sr_RS.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-sv_SE.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-ta.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-th.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-tl.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-tr_TR.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-uk.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-vi.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-zh_CN.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7-zh_TW.mo create mode 100644 wp-content/plugins/contact-form-7/languages/contact-form-7.pot create mode 100644 wp-content/plugins/contact-form-7/languages/readme.txt create mode 100644 wp-content/plugins/contact-form-7/license.txt create mode 100644 wp-content/plugins/contact-form-7/modules/acceptance.php create mode 100644 wp-content/plugins/contact-form-7/modules/akismet.php create mode 100644 wp-content/plugins/contact-form-7/modules/captcha.php create mode 100644 wp-content/plugins/contact-form-7/modules/checkbox.php create mode 100644 wp-content/plugins/contact-form-7/modules/date.php create mode 100644 wp-content/plugins/contact-form-7/modules/file.php create mode 100644 wp-content/plugins/contact-form-7/modules/flamingo.php create mode 100644 wp-content/plugins/contact-form-7/modules/jetpack.php create mode 100644 wp-content/plugins/contact-form-7/modules/listo.php create mode 100644 wp-content/plugins/contact-form-7/modules/number.php create mode 100644 wp-content/plugins/contact-form-7/modules/quiz.php create mode 100644 wp-content/plugins/contact-form-7/modules/response.php create mode 100644 wp-content/plugins/contact-form-7/modules/select.php create mode 100644 wp-content/plugins/contact-form-7/modules/submit.php create mode 100644 wp-content/plugins/contact-form-7/modules/text.php create mode 100644 wp-content/plugins/contact-form-7/modules/textarea.php create mode 100644 wp-content/plugins/contact-form-7/readme.txt create mode 100644 wp-content/plugins/contact-form-7/settings.php create mode 100644 wp-content/plugins/contact-form-7/uninstall.php create mode 100644 wp-content/plugins/contact-form-7/wp-contact-form-7.php create mode 100644 wp-content/plugins/ml-slider/assets/colorbox/colorbox.css create mode 100644 wp-content/plugins/ml-slider/assets/colorbox/images/border.png create mode 100644 wp-content/plugins/ml-slider/assets/colorbox/images/controls.png create mode 100644 wp-content/plugins/ml-slider/assets/colorbox/images/ie6/borderBottomCenter.png create mode 100644 wp-content/plugins/ml-slider/assets/colorbox/images/ie6/borderBottomLeft.png create mode 100644 wp-content/plugins/ml-slider/assets/colorbox/images/ie6/borderBottomRight.png create mode 100644 wp-content/plugins/ml-slider/assets/colorbox/images/ie6/borderMiddleLeft.png create mode 100644 wp-content/plugins/ml-slider/assets/colorbox/images/ie6/borderMiddleRight.png create mode 100644 wp-content/plugins/ml-slider/assets/colorbox/images/ie6/borderTopCenter.png create mode 100644 wp-content/plugins/ml-slider/assets/colorbox/images/ie6/borderTopLeft.png create mode 100644 wp-content/plugins/ml-slider/assets/colorbox/images/ie6/borderTopRight.png create mode 100644 wp-content/plugins/ml-slider/assets/colorbox/images/loading.gif create mode 100644 wp-content/plugins/ml-slider/assets/colorbox/images/loading_background.png create mode 100644 wp-content/plugins/ml-slider/assets/colorbox/images/overlay.png create mode 100644 wp-content/plugins/ml-slider/assets/colorbox/jquery.colorbox-min.js create mode 100644 wp-content/plugins/ml-slider/assets/easing/jQuery.easing.min.js create mode 100644 wp-content/plugins/ml-slider/assets/metaslider/admin.css create mode 100644 wp-content/plugins/ml-slider/assets/metaslider/admin.js create mode 100644 wp-content/plugins/ml-slider/assets/metaslider/edit.png create mode 100644 wp-content/plugins/ml-slider/assets/metaslider/matchalabs.png create mode 100644 wp-content/plugins/ml-slider/assets/metaslider/public.css create mode 100644 wp-content/plugins/ml-slider/assets/sliders/coinslider/coin-slider-styles.css create mode 100644 wp-content/plugins/ml-slider/assets/sliders/coinslider/coin-slider.min.js create mode 100644 wp-content/plugins/ml-slider/assets/sliders/flexslider/bg_direction_nav.png create mode 100644 wp-content/plugins/ml-slider/assets/sliders/flexslider/flexslider.css create mode 100644 wp-content/plugins/ml-slider/assets/sliders/flexslider/jquery.flexslider-min.js create mode 100644 wp-content/plugins/ml-slider/assets/sliders/nivoslider/jquery.nivo.slider.pack.js create mode 100644 wp-content/plugins/ml-slider/assets/sliders/nivoslider/nivo-slider.css create mode 100644 wp-content/plugins/ml-slider/assets/sliders/nivoslider/themes/bar/arrows.png create mode 100644 wp-content/plugins/ml-slider/assets/sliders/nivoslider/themes/bar/bar.css create mode 100644 wp-content/plugins/ml-slider/assets/sliders/nivoslider/themes/bar/bullets.png create mode 100644 wp-content/plugins/ml-slider/assets/sliders/nivoslider/themes/bar/loading.gif create mode 100644 wp-content/plugins/ml-slider/assets/sliders/nivoslider/themes/dark/arrows.png create mode 100644 wp-content/plugins/ml-slider/assets/sliders/nivoslider/themes/dark/bullets.png create mode 100644 wp-content/plugins/ml-slider/assets/sliders/nivoslider/themes/dark/dark.css create mode 100644 wp-content/plugins/ml-slider/assets/sliders/nivoslider/themes/dark/loading.gif create mode 100644 wp-content/plugins/ml-slider/assets/sliders/nivoslider/themes/default/arrows.png create mode 100644 wp-content/plugins/ml-slider/assets/sliders/nivoslider/themes/default/bullets.png create mode 100644 wp-content/plugins/ml-slider/assets/sliders/nivoslider/themes/default/default.css create mode 100644 wp-content/plugins/ml-slider/assets/sliders/nivoslider/themes/default/loading.gif create mode 100644 wp-content/plugins/ml-slider/assets/sliders/nivoslider/themes/light/arrows.png create mode 100644 wp-content/plugins/ml-slider/assets/sliders/nivoslider/themes/light/bullets.png create mode 100644 wp-content/plugins/ml-slider/assets/sliders/nivoslider/themes/light/light.css create mode 100644 wp-content/plugins/ml-slider/assets/sliders/nivoslider/themes/light/loading.gif create mode 100644 wp-content/plugins/ml-slider/assets/sliders/responsiveslides/responsiveslides.css create mode 100644 wp-content/plugins/ml-slider/assets/sliders/responsiveslides/responsiveslides.min.js create mode 100644 wp-content/plugins/ml-slider/assets/tipsy/jquery.tipsy.js create mode 100644 wp-content/plugins/ml-slider/assets/tipsy/tipsy.css create mode 100644 wp-content/plugins/ml-slider/inc/metaslider.imagehelper.class.php create mode 100644 wp-content/plugins/ml-slider/inc/metaslider.systemcheck.class.php create mode 100644 wp-content/plugins/ml-slider/inc/metaslider.widget.class.php create mode 100644 wp-content/plugins/ml-slider/inc/simple_html_dom.php create mode 100644 wp-content/plugins/ml-slider/inc/slide/metaslide.class.php create mode 100644 wp-content/plugins/ml-slider/inc/slide/metaslide.image.class.php create mode 100644 wp-content/plugins/ml-slider/inc/slider/metaslider.class.php create mode 100644 wp-content/plugins/ml-slider/inc/slider/metaslider.coin.class.php create mode 100644 wp-content/plugins/ml-slider/inc/slider/metaslider.flex.class.php create mode 100644 wp-content/plugins/ml-slider/inc/slider/metaslider.nivo.class.php create mode 100644 wp-content/plugins/ml-slider/inc/slider/metaslider.responsive.class.php create mode 100644 wp-content/plugins/ml-slider/languages/metaslider-de_DE.mo create mode 100644 wp-content/plugins/ml-slider/languages/metaslider-de_DE.po create mode 100644 wp-content/plugins/ml-slider/languages/metaslider-es_ES.mo create mode 100644 wp-content/plugins/ml-slider/languages/metaslider-es_ES.po create mode 100644 wp-content/plugins/ml-slider/languages/metaslider-fa_IR.mo create mode 100644 wp-content/plugins/ml-slider/languages/metaslider-fa_IR.po create mode 100644 wp-content/plugins/ml-slider/languages/metaslider-fr_FR.mo create mode 100644 wp-content/plugins/ml-slider/languages/metaslider-fr_FR.po create mode 100644 wp-content/plugins/ml-slider/languages/metaslider-he_IL.mo create mode 100644 wp-content/plugins/ml-slider/languages/metaslider-he_IL.po create mode 100644 wp-content/plugins/ml-slider/languages/metaslider-hr_HR.mo create mode 100644 wp-content/plugins/ml-slider/languages/metaslider-hr_HR.po create mode 100644 wp-content/plugins/ml-slider/languages/metaslider-hu_HU.mo create mode 100644 wp-content/plugins/ml-slider/languages/metaslider-hu_HU.po create mode 100644 wp-content/plugins/ml-slider/languages/metaslider-ja.mo create mode 100644 wp-content/plugins/ml-slider/languages/metaslider-ja.po create mode 100644 wp-content/plugins/ml-slider/languages/metaslider-nb_NO.mo create mode 100644 wp-content/plugins/ml-slider/languages/metaslider-nb_NO.po create mode 100644 wp-content/plugins/ml-slider/languages/metaslider-nl_NL.mo create mode 100644 wp-content/plugins/ml-slider/languages/metaslider-nl_NL.po create mode 100644 wp-content/plugins/ml-slider/languages/metaslider-pl_PL.mo create mode 100644 wp-content/plugins/ml-slider/languages/metaslider-pl_PL.po create mode 100644 wp-content/plugins/ml-slider/languages/metaslider-ro_RO.mo create mode 100644 wp-content/plugins/ml-slider/languages/metaslider-ro_RO.po create mode 100644 wp-content/plugins/ml-slider/languages/metaslider-ru_RU.mo create mode 100644 wp-content/plugins/ml-slider/languages/metaslider-ru_RU.po create mode 100644 wp-content/plugins/ml-slider/languages/metaslider-zh_CN.mo create mode 100644 wp-content/plugins/ml-slider/languages/metaslider-zh_CN.po create mode 100644 wp-content/plugins/ml-slider/languages/metaslider-zh_TW.mo create mode 100644 wp-content/plugins/ml-slider/languages/metaslider-zh_TW.po create mode 100644 wp-content/plugins/ml-slider/languages/metaslider.mo create mode 100644 wp-content/plugins/ml-slider/languages/metaslider.po create mode 100644 wp-content/plugins/ml-slider/ml-slider.php create mode 100644 wp-content/plugins/ml-slider/readme.txt create mode 100644 wp-content/plugins/really-simple-captcha/gentium/FONTLOG.txt create mode 100644 wp-content/plugins/really-simple-captcha/gentium/GENTIUM-FAQ.txt create mode 100644 wp-content/plugins/really-simple-captcha/gentium/GenBasB.ttf create mode 100644 wp-content/plugins/really-simple-captcha/gentium/GenBasBI.ttf create mode 100644 wp-content/plugins/really-simple-captcha/gentium/GenBasI.ttf create mode 100644 wp-content/plugins/really-simple-captcha/gentium/GenBasR.ttf create mode 100644 wp-content/plugins/really-simple-captcha/gentium/GenBkBasB.ttf create mode 100644 wp-content/plugins/really-simple-captcha/gentium/GenBkBasBI.ttf create mode 100644 wp-content/plugins/really-simple-captcha/gentium/GenBkBasI.ttf create mode 100644 wp-content/plugins/really-simple-captcha/gentium/GenBkBasR.ttf create mode 100644 wp-content/plugins/really-simple-captcha/gentium/OFL-FAQ.txt create mode 100644 wp-content/plugins/really-simple-captcha/gentium/OFL.txt create mode 100644 wp-content/plugins/really-simple-captcha/license.txt create mode 100644 wp-content/plugins/really-simple-captcha/readme.txt create mode 100644 wp-content/plugins/really-simple-captcha/really-simple-captcha.php create mode 100644 wp-content/plugins/really-simple-captcha/tmp/index.php create mode 100644 wp-content/plugins/wordfence/css/colorbox.css create mode 100644 wp-content/plugins/wordfence/css/diff.css create mode 100644 wp-content/plugins/wordfence/css/dt_table.css create mode 100644 wp-content/plugins/wordfence/css/fullLog.css create mode 100644 wp-content/plugins/wordfence/css/iptraf.css create mode 100644 wp-content/plugins/wordfence/css/main.css create mode 100644 wp-content/plugins/wordfence/css/phpinfo.css create mode 100644 wp-content/plugins/wordfence/images/back_disabled.jpg create mode 100644 wp-content/plugins/wordfence/images/back_enabled.jpg create mode 100644 wp-content/plugins/wordfence/images/button-grad-grey.png create mode 100644 wp-content/plugins/wordfence/images/forward_disabled.jpg create mode 100644 wp-content/plugins/wordfence/images/forward_enabled.jpg create mode 100644 wp-content/plugins/wordfence/images/icons/ajax24.gif create mode 100644 wp-content/plugins/wordfence/images/icons/ajax3.gif create mode 100644 wp-content/plugins/wordfence/images/icons/ajaxRed16.gif create mode 100644 wp-content/plugins/wordfence/images/icons/ajaxScan.gif create mode 100644 wp-content/plugins/wordfence/images/icons/ajaxWhite32x32.gif create mode 100644 wp-content/plugins/wordfence/images/icons/arrow_refresh.png create mode 100644 wp-content/plugins/wordfence/images/icons/bullet_yellow.png create mode 100644 wp-content/plugins/wordfence/images/icons/email_go.png create mode 100644 wp-content/plugins/wordfence/images/icons/error128.png create mode 100644 wp-content/plugins/wordfence/images/icons/magnifier.png create mode 100644 wp-content/plugins/wordfence/images/icons/tick128.png create mode 100644 wp-content/plugins/wordfence/images/icons/warning128.png create mode 100644 wp-content/plugins/wordfence/images/lightbox-controls.png create mode 100644 wp-content/plugins/wordfence/images/loading.gif create mode 100644 wp-content/plugins/wordfence/images/loading_background.png create mode 100644 wp-content/plugins/wordfence/images/sort_asc.gif create mode 100644 wp-content/plugins/wordfence/images/sort_asc_disabled.gif create mode 100644 wp-content/plugins/wordfence/images/sort_both.gif create mode 100644 wp-content/plugins/wordfence/images/sort_desc.gif create mode 100644 wp-content/plugins/wordfence/images/sort_desc_disabled.gif create mode 100644 wp-content/plugins/wordfence/images/wordfence-logo-16x16.png create mode 100644 wp-content/plugins/wordfence/images/wordfence-logo-32x32.png create mode 100644 wp-content/plugins/wordfence/images/wordfence-logo-64x64.png create mode 100644 wp-content/plugins/wordfence/images/wordfenceFalcon.png create mode 100644 wp-content/plugins/wordfence/images/wordfenceFalconEngineSmall.png create mode 100644 wp-content/plugins/wordfence/images/wordfenceFalconSmall.png create mode 100644 wp-content/plugins/wordfence/index.php create mode 100644 wp-content/plugins/wordfence/js/admin.js create mode 100644 wp-content/plugins/wordfence/js/jquery.colorbox-min.js create mode 100644 wp-content/plugins/wordfence/js/jquery.dataTables.min.js create mode 100644 wp-content/plugins/wordfence/js/jquery.tmpl.min.js create mode 100644 wp-content/plugins/wordfence/js/jquery.tools.min.js create mode 100644 wp-content/plugins/wordfence/js/perf.js create mode 100644 wp-content/plugins/wordfence/js/tourTip.js create mode 100644 wp-content/plugins/wordfence/lib/.htaccess create mode 100644 wp-content/plugins/wordfence/lib/Diff.php create mode 100644 wp-content/plugins/wordfence/lib/Diff/Renderer/Abstract.php create mode 100644 wp-content/plugins/wordfence/lib/Diff/Renderer/Html/Array.php create mode 100644 wp-content/plugins/wordfence/lib/Diff/Renderer/Html/SideBySide.php create mode 100644 wp-content/plugins/wordfence/lib/Diff/SequenceMatcher.php create mode 100644 wp-content/plugins/wordfence/lib/GeoIP.dat create mode 100644 wp-content/plugins/wordfence/lib/IPTraf.php create mode 100644 wp-content/plugins/wordfence/lib/conntest.php create mode 100644 wp-content/plugins/wordfence/lib/dashboard.php create mode 100644 wp-content/plugins/wordfence/lib/diffResult.php create mode 100644 wp-content/plugins/wordfence/lib/email_genericAlert.php create mode 100644 wp-content/plugins/wordfence/lib/email_newIssues.php create mode 100644 wp-content/plugins/wordfence/lib/email_unlockRequest.php create mode 100644 wp-content/plugins/wordfence/lib/menuHeader.php create mode 100644 wp-content/plugins/wordfence/lib/menu_activity.php create mode 100644 wp-content/plugins/wordfence/lib/menu_blockedIPs.php create mode 100644 wp-content/plugins/wordfence/lib/menu_countryBlocking.php create mode 100644 wp-content/plugins/wordfence/lib/menu_options.php create mode 100644 wp-content/plugins/wordfence/lib/menu_rangeBlocking.php create mode 100644 wp-content/plugins/wordfence/lib/menu_scan.php create mode 100644 wp-content/plugins/wordfence/lib/menu_scanSchedule.php create mode 100644 wp-content/plugins/wordfence/lib/menu_sitePerf.php create mode 100644 wp-content/plugins/wordfence/lib/menu_sitePerfStats.php create mode 100644 wp-content/plugins/wordfence/lib/menu_twoFactor.php create mode 100644 wp-content/plugins/wordfence/lib/menu_whois.php create mode 100644 wp-content/plugins/wordfence/lib/pageTitle.php create mode 100644 wp-content/plugins/wordfence/lib/schedWeekEntry.php create mode 100644 wp-content/plugins/wordfence/lib/sysinfo.php create mode 100644 wp-content/plugins/wordfence/lib/unknownFiles.php create mode 100644 wp-content/plugins/wordfence/lib/viewFullActivityLog.php create mode 100644 wp-content/plugins/wordfence/lib/wf503.php create mode 100644 wp-content/plugins/wordfence/lib/wfAPI.php create mode 100644 wp-content/plugins/wordfence/lib/wfAction.php create mode 100644 wp-content/plugins/wordfence/lib/wfArray.php create mode 100644 wp-content/plugins/wordfence/lib/wfBrowscap.php create mode 100644 wp-content/plugins/wordfence/lib/wfBrowscapCache.php create mode 100644 wp-content/plugins/wordfence/lib/wfBulkCountries.php create mode 100644 wp-content/plugins/wordfence/lib/wfCache.php create mode 100644 wp-content/plugins/wordfence/lib/wfConfig.php create mode 100644 wp-content/plugins/wordfence/lib/wfCountryMap.php create mode 100644 wp-content/plugins/wordfence/lib/wfCrawl.php create mode 100644 wp-content/plugins/wordfence/lib/wfDB.php create mode 100644 wp-content/plugins/wordfence/lib/wfDict.php create mode 100644 wp-content/plugins/wordfence/lib/wfGeoIP.php create mode 100644 wp-content/plugins/wordfence/lib/wfIssues.php create mode 100644 wp-content/plugins/wordfence/lib/wfLockedOut.php create mode 100644 wp-content/plugins/wordfence/lib/wfLog.php create mode 100644 wp-content/plugins/wordfence/lib/wfRate.php create mode 100644 wp-content/plugins/wordfence/lib/wfScan.php create mode 100644 wp-content/plugins/wordfence/lib/wfScanEngine.php create mode 100644 wp-content/plugins/wordfence/lib/wfSchema.php create mode 100644 wp-content/plugins/wordfence/lib/wfUnlockMsg.php create mode 100644 wp-content/plugins/wordfence/lib/wfUtils.php create mode 100644 wp-content/plugins/wordfence/lib/wfViewResult.php create mode 100644 wp-content/plugins/wordfence/lib/whois/.htaccess create mode 100644 wp-content/plugins/wordfence/lib/whois/LICENSE create mode 100644 wp-content/plugins/wordfence/lib/whois/handler.template.php create mode 100644 wp-content/plugins/wordfence/lib/whois/npdata.ser create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.ae.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.aero.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.ag.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.asia.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.at.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.au.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.be.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.biz.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.br.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.ca.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.cat.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.ch.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.cl.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.client.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.cn.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.co.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.co.za.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.coop.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.cz.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.de.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.edu.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.eu.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.fi.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.fj.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.fm.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.fr.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.gtld.afternic.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.gtld.alldomains.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.gtld.ascio.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.gtld.assorted.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.gtld.corporatedomains.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.gtld.directnic.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.gtld.domaindiscover.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.gtld.domainpeople.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.gtld.dotster.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.gtld.dreamhost.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.gtld.enom.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.gtld.fabulous.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.gtld.fastdomain.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.gtld.gandi.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.gtld.genericb.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.gtld.godaddy.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.gtld.iana.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.gtld.interdomain.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.gtld.itsyourdomain.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.gtld.joker.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.gtld.markmonitor.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.gtld.melbourneit.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.gtld.moniker.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.gtld.namejuice.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.gtld.nameking.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.gtld.names4ever.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.gtld.namevault.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.gtld.networksolutions.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.gtld.nicco.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.gtld.nicline.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.gtld.onlinenic.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.gtld.opensrs.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.gtld.ovh.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.gtld.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.gtld.psiusa.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.gtld.publicdomainregistry.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.gtld.register.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.gtld.rrpproxy.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.gtld.schlund.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.gtld.srsplus.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.gtld.tmagnic.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.gtld.tvcorp.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.gtld.wildwestdomains.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.hu.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.icon.png create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.idna.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.ie.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.in.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.info.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.int.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.ip.afrinic.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.ip.apnic.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.ip.arin.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.ip.krnic.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.ip.lacnic.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.ip.lib.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.ip.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.ip.ripe.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.ir.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.is.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.it.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.jp.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.lt.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.lu.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.ly.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.main.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.me.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.mobi.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.museum.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.mx.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.name.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.nl.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.nu.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.nz.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.org.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.org.za.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.parser.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.pl.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.pro.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.pt.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.ro.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.ru.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.rwhois.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.sc.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.se.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.servers.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.si.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.su.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.tel.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.travel.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.uk.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.us.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.utils.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.ve.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.ws.php create mode 100644 wp-content/plugins/wordfence/lib/whois/whois.zanet.php create mode 100644 wp-content/plugins/wordfence/lib/wordfenceClass.php create mode 100644 wp-content/plugins/wordfence/lib/wordfenceConstants.php create mode 100644 wp-content/plugins/wordfence/lib/wordfenceHash.php create mode 100644 wp-content/plugins/wordfence/lib/wordfenceScanner.php create mode 100644 wp-content/plugins/wordfence/lib/wordfenceURLHoover.php create mode 100644 wp-content/plugins/wordfence/readme.txt create mode 100644 wp-content/plugins/wordfence/tmp/.htaccess create mode 100644 wp-content/plugins/wordfence/tmp/configCache.php create mode 100644 wp-content/plugins/wordfence/wordfence.php diff --git a/wp-content/plugins/add-logo-to-admin/add-logo-to-admin.php b/wp-content/plugins/add-logo-to-admin/add-logo-to-admin.php new file mode 100644 index 0000000..24040bc --- /dev/null +++ b/wp-content/plugins/add-logo-to-admin/add-logo-to-admin.php @@ -0,0 +1,256 @@ + + + ' : ''; + $display = ( $plugin_options['image'] ) ? '' : 'style="display: none;"'; + ?> +
+

+ +
+ + + + + + + + + + + +
+
+ +
+ +
+
+ +
+    > +
+

+
+ + +
+ +
+ 'on', + 'admin' => 'on', + 'image' => plugins_url( 'images/logo.png', __FILE__ ) + ); + + add_option( 'wp_add_logo_to_admin', $default_option ); + } + + /** + * Remove all options on deactivation + * + * This functions is referenced in 'register_deactivation_hook()' + * + * @since 1.6 + */ + public static function deactivate() { + delete_option( 'wp_add_logo_to_admin' ); + } + + /** + * Initialization of the plugin which creates the admin page + * + * This functions is attached to the 'admin_enqueue_scripts' action hook + * + * @since 1.6 + */ + public function admin_enqueue_scripts( $hook ) { + $plugin_options = get_option( 'wp_add_logo_to_admin' ); + + if ( 'settings_page_add-logo-to-admin/add-logo-to-admin' == $hook ) { + wp_enqueue_media(); + wp_enqueue_script( 'add_logo_to_admin', plugins_url( 'js/add-logo-select-image.js', __FILE__ ), array( 'jquery', 'media-upload', 'media-views' ), ADD_LOGO_VERSION, true ); + } + + if ( 'on' == $plugin_options['admin'] ) { + wp_enqueue_script( 'add_logo_jquery', plugins_url( 'js/add-logo.js', __FILE__ ), array( 'jquery' ), ADD_LOGO_VERSION, true ); + wp_localize_script( 'add_logo_jquery', 'add_logo_image', esc_url( $plugin_options['image'] ) ); + wp_enqueue_style( 'add_logo_to_admin', plugins_url( 'css/add-logo.css', __FILE__ ), '', ADD_LOGO_VERSION ); + } + } + + } // END class WP_Plugin_Template +} + +if ( class_exists( 'WP_Add_Logo_To_Admin' ) ) { + /** + * Installing the activation and deactivation hooks + * + * @since 1.6 + */ + register_activation_hook( __FILE__, array( 'WP_Add_Logo_To_Admin', 'activate' ) ); + register_deactivation_hook( __FILE__, array( 'WP_Add_Logo_To_Admin', 'deactivate' ) ); + + // instantiate the plugin class + $wp_add_logo_to_admin = new WP_Add_Logo_To_Admin(); + + /** + * Add settings link to plugin admin page + * + * @since 1.6 + */ + if ( isset( $wp_add_logo_to_admin ) ) { + function add_logo_plugin_settings_link( $links ) { + $settings_link = '' . __( 'Settings', 'add-logo' ) . ''; + array_unshift( $links, $settings_link ); + return $links; + } + + $plugin = plugin_basename( __FILE__ ); + add_filter( "plugin_action_links_$plugin", 'add_logo_plugin_settings_link' ); + } +} \ No newline at end of file diff --git a/wp-content/plugins/add-logo-to-admin/css/add-logo.css b/wp-content/plugins/add-logo-to-admin/css/add-logo.css new file mode 100644 index 0000000..5fcd23e --- /dev/null +++ b/wp-content/plugins/add-logo-to-admin/css/add-logo.css @@ -0,0 +1,6 @@ +#admin-logo { + margin: 10px 0; + padding: 0 0 5px; + border-bottom: 1px solid #ddd; + width: 100%; +} diff --git a/wp-content/plugins/add-logo-to-admin/images/logo.png b/wp-content/plugins/add-logo-to-admin/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..18d68e1f2059bc34ff8044ed93c24be6a751f79f GIT binary patch literal 9152 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 GKL0' ); + } ); + + file_frame.open(); + $( '.delete-image' ).show(); + } ) + .on( 'click', '.delete-image', function(e) { + e.preventDefault(); + $(this).hide(); + $( '#add-logo-image' ).val( '' ); + $( '#add-logo-image-container' ).html( '' ); + } ); + +} )(jQuery); \ No newline at end of file diff --git a/wp-content/plugins/add-logo-to-admin/js/add-logo.js b/wp-content/plugins/add-logo-to-admin/js/add-logo.js new file mode 100644 index 0000000..6a58d2b --- /dev/null +++ b/wp-content/plugins/add-logo-to-admin/js/add-logo.js @@ -0,0 +1,3 @@ +( function($) { + $( '.wrap' ).prepend( '' ); +} )( jQuery ); \ No newline at end of file diff --git a/wp-content/plugins/add-logo-to-admin/languages/add-logo.pot b/wp-content/plugins/add-logo-to-admin/languages/add-logo.pot new file mode 100644 index 0000000..2e528fd --- /dev/null +++ b/wp-content/plugins/add-logo-to-admin/languages/add-logo.pot @@ -0,0 +1,50 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Text in function +#: add-logo-to-admin/add-logo-to-admin.php:1 +#: add-logo-to-admin/add-logo-to-admin.php:137 +msgid "Add Logo to Admin" +msgstr "" + +#. Text in echo +#: add-logo-to-admin/add-logo-to-admin.php:162 +msgid "Delete image" +msgstr "" + +#. Text in echo +#: add-logo-to-admin/add-logo-to-admin.php:153 +msgid "Display logo on all admin pages" +msgstr "" + +#. Text in echo +#: add-logo-to-admin/add-logo-to-admin.php:149 +msgid "Display logo on the login page" +msgstr "" + +#. Text in echo +#: add-logo-to-admin/add-logo-to-admin.php:144 +msgid "Logo Options" +msgstr "" + +#. Text in echo +#: add-logo-to-admin/add-logo-to-admin.php:162 +msgid "Select image" +msgstr "" + +#. Text in echo +#: add-logo-to-admin/add-logo-to-admin.php:158 +msgid "Upload Logo" +msgstr "" + +#. Text in function +#: add-logo-to-admin/add-logo-to-admin.php:117 +msgid "You do not have sufficient permissions to access this page." +msgstr "" + +#. Text in echo +#: add-logo-to-admin/add-logo-to-admin.php:164 +msgid "Your logo should be no larger than 320px by 80px or else it will be resized on the login screen." +msgstr "" diff --git a/wp-content/plugins/add-logo-to-admin/readme.txt b/wp-content/plugins/add-logo-to-admin/readme.txt new file mode 100644 index 0000000..5b6c048 --- /dev/null +++ b/wp-content/plugins/add-logo-to-admin/readme.txt @@ -0,0 +1,112 @@ +=== Add Logo to Admin === +Contributors: tinkerpriest +Donate Link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=4W58JWNBHWKK4 +Tags: custom logo, admin, login, wp-admin, admin logo +Text Domain: add-logo +Domain Path: /languages +Requires at least: 3.5 +Tested up to: 3.8 +Stable tag: 1.6 +License: GPLv2 or later +License URI: http://www.gnu.org/licenses/gpl-2.0.html + +Add a custom logo to your wp-admin and login page. + +== Description == + +This plugin allows you to customize your admin by adding your own logo to the header. It also replaces the WordPress logo on the login screen with the same custom logo. Tested in Firefox, Safari, Chrome and IE. + +== Installation == + +1. Unzip the add-logo-to-admin.zip file. +2. Upload the `add-logo-to-admin` folder to the `/wp-content/plugins/` directory. +3. Activate the plugin through the 'Plugins' menu in WordPress. +4. Go to Settings => Add Logo to Admin and set your options and add your logo. + +== Frequently Asked Questions == + +1) How do I add my own logo? + +Just go to Settings => Add Logo to Admin and click on "Select image" to upload your logo. + +2) How big does my logo need to be? + +Your logo shouldn't exceed 320px by 80px or it will be resized on the login screen. + +== Screenshots == + +1. The Add Logo to Admin page +2. How your logo will appear on the login screen + +== Change Log == + += 1.6 (2014-02-12) = + +* Added WP media uploader +* Rebuilt plugin using OOP +* Created language file +* Updated screenshots to reflect new admin page +* Added validation to settings + +1.5.1 (2012-10-04) + +* Fixed login screen image size + +1.5 (2012-01-12) + +* Updated for WP 3.3 +* Improved coding +* Added security nonce + +1.4 (2011-02-18) + +* Updated for WP 3.1 +* Removed extraneous CSS and JS files +* Improved coding + +1.3.3 (2009-03-10) + +* Fixed issue with IE7 and logo not displaying + +1.3.2 (2009-03-01) + +* Fixed issue with invading other admin pages save function + +1.3.1 (2009-02-26) + +* Fixed issue with spaces in filename + +1.3 (2009-02-25) + +* Created uploader for logos +* Added "Settings" link on plugins page +* Added option to delete logo +* Added logo select option +* Updated CSS + +1.2 (2009-02-23) + +* Fixed issue with WP installs in subdirectories +* Removed old code +* Tested on WP version 2.7.1 + +1.1 (2008-12-24) + +* Added admin page with options +* Fixed window.onload JavaScript issue +* Fixed issue with blogs not located in the root directory +* Removed extraneous code + +1.0.2 (2008-12-16) +Fixed weirdness with extra folder + +1.0.1 (2008-12-16) +Fixed the code to direct to the proper plugin folder + +1.0 (2008-12-15) +Initial Public Release + +== Upgrade Notice == + += 1.6 = +Now you can easily select your logo using the WordPress media uploader. Plus the login screen logo will redirect back to your site and use your site name for the link's title tag. \ No newline at end of file diff --git a/wp-content/plugins/add-logo-to-admin/screenshot-1.jpg b/wp-content/plugins/add-logo-to-admin/screenshot-1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..02daef42c2fe6c00724b4d436e05c7af4b73fbf9 GIT binary patch literal 54072 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 khX(}K);CV6^&LHj + Allow from all + + +#allow access to any image + + Allow from all + \ No newline at end of file diff --git a/wp-content/plugins/akismet/_inc/akismet.css b/wp-content/plugins/akismet/_inc/akismet.css new file mode 100644 index 0000000..ff076aa --- /dev/null +++ b/wp-content/plugins/akismet/_inc/akismet.css @@ -0,0 +1,361 @@ + +#submitted-on { + position: relative; +} +#the-comment-list .author .akismet-user-comment-count { + display: inline; +} +#the-comment-list .author a span { + text-decoration: none; + color: #999; +} +#the-comment-list .author a span.akismet-span-link { + text-decoration: inherit; + color: inherit; +} +#the-comment-list .remove_url { + margin-left: 3px; + color: #999; + padding: 2px 3px 2px 0; +} +#the-comment-list .remove_url:hover { + color: #A7301F; + font-weight: bold; + padding: 2px 2px 2px 0; +} +#dashboard_recent_comments .akismet-status { + display: none; +} +.akismet-status { + float: right; +} +.akismet-status a { + color: #AAA; + font-style: italic; +} +span.comment-link a { + text-decoration: underline; +} +span.comment-link:after { + content: " "attr(title) " "; + color: #aaa; + text-decoration: none; +} +.mshot-arrow { + width: 0; + height: 0; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + border-right: 10px solid #5C5C5C; + position: absolute; + left: -6px; + top: 91px; +} +.mshot-container { + background: #5C5C5C; + position: absolute; + top: -94px; + padding: 7px; + width: 450px; + height: 338px; + z-index: 20000; + -moz-border-radius: 6px; + border-radius: 6px; + -webkit-border-radius: 6px; +} +h2.ak-header { + padding: 30px; + background: #649316 url('img/logo-full-2x.png') no-repeat 20px center; + background-size: 185px 33px; + height: 33px; + text-indent: -9999em; + margin-right: 10px; +} +.checkforspam { + display: inline-block !important; +} +.checkforspam-spinner { + display: inline-block; + margin-top: 7px; +} + +.config-wrap { + margin-top: 2em; + max-width: 700px; +} + +.activate-option { + background: #e3e3e3; + border-radius: 3px; + margin-bottom: 30px; + overflow: hidden; + padding: 20px; +} +.activate-option.clicked { + background: #649316; + color: #fff; +} +.activate-option.clicked:hover { + background: #68802E; + color: #fff; +} + +.activate-option .button.button-secondary { + margin: 15px 0; +} + +.activate-option p { + margin: 10px 0 10px; +} + +.activate-highlight { + background: #fff; + padding: 30px; + margin-right: 10px; +} + +.activate-highlight.secondary { + background: #ddd; + padding: 20px 30px; +} + +.activate-highlight h3 { + margin: 0 0 0.3em; +} +.activate-highlight p { + color: #777; +} +.activate-highlight .button-primary { + margin-top: 15px; +} + +#akismet-enter-api-key .regular-text { + width: 18em; + margin-top: 15px; +} + +.right { + float: right; +} + +.alert-text { + color: #dd3d36; +} +.success { + color: #649316; +} +.option-description { + float: left; + font-size: 16px; +} +.option-description span { + color: #666; + display: block; + font-size: 14px; + margin-top: 5px; +} +.option-action { + float: right; +} +.key-config-link { + font-size: 14px; + margin-left: 20px; +} +.jetpack-account { + float: left; + font-size: 18px; + margin-right: 40px; +} +.small-heading { + color: #777; + display: block; + font-size: 12px; + font-weight: bold; + margin-bottom: 5px; + text-transform: uppercase; +} +.inline-label { + background: #ddd; + border-radius: 3px; + font-size: 11px; + padding: 3px 8px; + text-transform: uppercase; +} +.inline-label.alert { + background: #e54747; + color: #fff; +} +.jetpack-account .inline-label { + margin-left: 5px; +} +.option-action .manual-key { + margin-top: 7px; +} + +.alert { + border: 1px solid #e5e5e5; + padding: 0.4em 1em 1.4em 1em; + border-radius: 3px; + -webkit-border-radius: 3px; + border-width: 1px; + border-style: solid; +} + +.alert h3.key-status { + color: #fff; + margin: 1em 0 0.5em 0; +} + +.alert.critical { + background-color: #993300; +} + +.alert.active { + background-color: #649316; +} + +.alert p.key-status { + font-size: 24px; +} + +.alert p.description { + color:#fff; + font-size: 14px; + margin: 0 0; + font-style: normal; +} + +.alert p.description a, +.alert p.description a, +.alert p.description a, +.alert p.description a { + color: #fff; +} + +.new-snapshot { + margin-top: 1em; + padding: 1em; + text-align: center; +} + +.new-snapshot.stats { + background: #fff; + border: 1px solid #e5e5e5; +} + +.new-snapshot h3 { + background: #f5f5f5; + color: #888; + font-size: 11px; + margin: 0; + padding: 3px; +} + +.new-snapspot ul { + font-size: 12px; + width: 100%; +} + +.new-snapshot ul li { + color: #999; + float: left; + font-size: 11px; + padding: 0 20px; + text-transform: uppercase; + width: 33%; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + -ms-box-sizing: border-box; +} + +.new-snapshot.stats ul li:first-child, +.new-snapshot.stats ul li:nth-child(2) { + border-right:1px dotted #ccc; +} + +.new-snapshot.account ul li:nth-child(2) { + border-right: none; +} + +.new-snapshot ul li span { + color: #52accc; + display: block; + font-size: 32px; + font-weight: lighter; + line-height: 1.5em; +} + +.new-snapshot.stats { +} + +.new-snapshot.account, +.new-snapshot.settings { + float: left; + padding: 0; + text-align: left; + width: 50%; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + -ms-box-sizing: border-box; +} + +.account-container { + background: #fff; + border: 1px solid #e5e5e5; + margin-right: 0.5em; +} + +.settings-container { + background: #fff; + border: 1px solid #e5e5e5; + margin-left: 0.5em; +} + +.new-snapshot.account ul li { + width:100% +} + +.new-snapshot.account ul li span { + font-size: 14px; + font-weight: normal; +} + + +.new-snapshot.settings ul li { + border: none; + display: block; + width:100% +} + +.new-snapshot.settings ul li span { + display: block; + font-size: 14px; + font-weight: normal; +} + +.new-snapshot.settings p.submit { + margin: 0; + text-align: center; +} + +.akismet-settings th.strictness { + vertical-align: top; + padding-top: 15px; +} + +.akismet-settings input[type=text] { + width: 75%; +} + +.akismet-settings span.note{ + float: left; + padding-left: 23px; + font-size: 75%; + margin-top: -10px; +} + +.clearfix { + clear:both; +} \ No newline at end of file diff --git a/wp-content/plugins/akismet/_inc/akismet.js b/wp-content/plugins/akismet/_inc/akismet.js new file mode 100644 index 0000000..aa0aab4 --- /dev/null +++ b/wp-content/plugins/akismet/_inc/akismet.js @@ -0,0 +1,158 @@ +jQuery( function ( $ ) { + $( 'a.activate-option' ).click( function(){ + var link = $( this ); + if ( link.hasClass( 'clicked' ) ) { + link.removeClass( 'clicked' ); + } + else { + link.addClass( 'clicked' ); + } + $( '.toggle-have-key' ).slideToggle( 'slow', function() {}); + return false; + }); + $('.akismet-status').each(function () { + var thisId = $(this).attr('commentid'); + $(this).prependTo('#comment-' + thisId + ' .column-comment'); + }); + $('.akismet-user-comment-count').each(function () { + var thisId = $(this).attr('commentid'); + $(this).insertAfter('#comment-' + thisId + ' .author strong:first').show(); + }); + $('#the-comment-list').find('tr.comment, tr[id ^= "comment-"]').find('.column-author a[title ^= "http://"]').each(function () { + var thisTitle = $(this).attr('title'); + thisCommentId = $(this).parents('tr:first').attr('id').split("-"); + + $(this).attr("id", "author_comment_url_"+ thisCommentId[1]); + + if (thisTitle) { + $(this).after( + $( 'x' ) + .attr( 'commentid', thisCommentId[1] ) + .attr( 'title', WPAkismet.strings['Remove this URL'] ) + ); + } + }); + $('.remove_url').live('click', function () { + var thisId = $(this).attr('commentid'); + var data = { + action: 'comment_author_deurl', + _wpnonce: WPAkismet.comment_author_url_nonce, + id: thisId + }; + $.ajax({ + url: ajaxurl, + type: 'POST', + data: data, + beforeSend: function () { + // Removes "x" link + $("a[commentid='"+ thisId +"']").hide(); + // Show temp status + $("#author_comment_url_"+ thisId).html( $( '' ).text( WPAkismet.strings['Removing...'] ) ); + }, + success: function (response) { + if (response) { + // Show status/undo link + $("#author_comment_url_"+ thisId) + .attr('cid', thisId) + .addClass('akismet_undo_link_removal') + .html( + $( '' ).text( WPAkismet.strings['URL removed'] ) + ) + .append( ' ' ) + .append( + $( '' ) + .text( WPAkismet.strings['(undo)'] ) + .addClass( 'akismet-span-link' ) + ); + } + } + }); + + return false; + }); + $('.akismet_undo_link_removal').live('click', function () { + var thisId = $(this).attr('cid'); + var thisUrl = $(this).attr('href').replace("http://www.", "").replace("http://", ""); + var data = { + action: 'comment_author_reurl', + _wpnonce: WPAkismet.comment_author_url_nonce, + id: thisId, + url: thisUrl + }; + $.ajax({ + url: ajaxurl, + type: 'POST', + data: data, + beforeSend: function () { + // Show temp status + $("#author_comment_url_"+ thisId).html( $( '' ).text( WPAkismet.strings['Re-adding...'] ) ); + }, + success: function (response) { + if (response) { + // Add "x" link + $("a[commentid='"+ thisId +"']").show(); + // Show link + $("#author_comment_url_"+ thisId).removeClass('akismet_undo_link_removal').html(thisUrl); + } + } + }); + + return false; + }); + $('a[id^="author_comment_url"], tr.pingback td.column-author a:first-of-type').mouseover(function () { + var wpcomProtocol = ( 'https:' === location.protocol ) ? 'https://' : 'http://'; + // Need to determine size of author column + var thisParentWidth = $(this).parent().width(); + // It changes based on if there is a gravatar present + thisParentWidth = ($(this).parent().find('.grav-hijack').length) ? thisParentWidth - 42 + 'px' : thisParentWidth + 'px'; + if ($(this).find('.mShot').length == 0 && !$(this).hasClass('akismet_undo_link_removal')) { + var self = $( this ); + $('.widefat td').css('overflow', 'visible'); + $(this).css('position', 'relative'); + var thisHref = $.URLEncode( $(this).attr('href') ); + $(this).append('
'); + setTimeout(function () { + self.find( '.mshot-image' ).attr('src', '//s0.wordpress.com/mshots/v1/'+thisHref+'?w=450&r=2'); + }, 6000); + setTimeout(function () { + self.find( '.mshot-image' ).attr('src', '//s0.wordpress.com/mshots/v1/'+thisHref+'?w=450&r=3'); + }, 12000); + } else { + $(this).find('.mShot').css('left', thisParentWidth).show(); + } + }).mouseout(function () { + $(this).find('.mShot').hide(); + }); + $('.checkforspam:not(.button-disabled)').click( function(e) { + $('.checkforspam:not(.button-disabled)').addClass('button-disabled'); + $('.checkforspam-spinner').addClass( 'spinner' ); + akismet_check_for_spam(0, 100); + e.preventDefault(); + }); + + function akismet_check_for_spam(offset, limit) { + $.post( + ajaxurl, + { + 'action': 'akismet_recheck_queue', + 'offset': offset, + 'limit': limit + }, + function(result) { + if (result.processed < limit) { + window.location.reload(); + } + else { + akismet_check_for_spam(offset + limit, limit); + } + } + ); + } +}); +// URL encode plugin +jQuery.extend({URLEncode:function(c){var o='';var x=0;c=c.toString();var r=/(^[a-zA-Z0-9_.]*)/; + while(x1 && m[1]!=''){o+=m[1];x+=m[1].length; + }else{if(c[x]==' ')o+='+';else{var d=c.charCodeAt(x);var h=d.toString(16); + o+='%'+(h.length<2?'0':'')+h.toUpperCase();}x++;}}return o;} +}); diff --git a/wp-content/plugins/akismet/_inc/form.js b/wp-content/plugins/akismet/_inc/form.js new file mode 100644 index 0000000..3a5be8a --- /dev/null +++ b/wp-content/plugins/akismet/_inc/form.js @@ -0,0 +1,30 @@ +var ak_js = document.getElementById( "ak_js" ); + +if ( ! ak_js ) { + ak_js = document.createElement( 'input' ); + ak_js.setAttribute( 'id', 'ak_js' ); + ak_js.setAttribute( 'name', 'ak_js' ); + ak_js.setAttribute( 'type', 'hidden' ); +} +else { + ak_js.parentNode.removeChild( ak_js ); +} + +ak_js.setAttribute( 'value', ( new Date() ).getTime() ); + +var commentForm = document.getElementById( 'commentform' ); + +if ( commentForm ) { + commentForm.appendChild( ak_js ); +} +else { + var replyRowContainer = document.getElementById( 'replyrow' ); + + if ( replyRowContainer ) { + var children = replyRowContainer.getElementsByTagName( 'td' ); + + if ( children.length > 0 ) { + children[0].appendChild( ak_js ); + } + } +} \ No newline at end of file diff --git a/wp-content/plugins/akismet/_inc/img/logo-full-2x.png b/wp-content/plugins/akismet/_inc/img/logo-full-2x.png new file mode 100644 index 0000000000000000000000000000000000000000..a9bed8b6d27bf9cff94534fef076b0b8ab5356aa GIT binary patch literal 4970 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 F{|De`@8|#k literal 0 HcmV?d00001 diff --git a/wp-content/plugins/akismet/akismet.php b/wp-content/plugins/akismet/akismet.php new file mode 100644 index 0000000..68289a3 --- /dev/null +++ b/wp-content/plugins/akismet/akismet.php @@ -0,0 +1,59 @@ +protect your blog from comment and trackback spam. It keeps your site protected from spam even while you sleep. To get started: 1) Click the "Activate" link to the left of this description, 2) Sign up for an Akismet API key, and 3) Go to your Akismet configuration page, and save your API key. +Version: 3.0.2 +Author: Automattic +Author URI: http://automattic.com/wordpress-plugins/ +License: GPLv2 or later +Text Domain: akismet +*/ + +/* +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +// Make sure we don't expose any info if called directly +if ( !function_exists( 'add_action' ) ) { + echo 'Hi there! I\'m just a plugin, not much I can do when called directly.'; + exit; +} + +define( 'AKISMET_VERSION', '3.0.2' ); +define( 'AKISMET__MINIMUM_WP_VERSION', '3.1' ); +define( 'AKISMET__PLUGIN_URL', plugin_dir_url( __FILE__ ) ); +define( 'AKISMET__PLUGIN_DIR', plugin_dir_path( __FILE__ ) ); +define( 'AKISMET_DELETE_LIMIT', 100000 ); + +register_activation_hook( __FILE__, array( 'Akismet', 'plugin_activation' ) ); +register_deactivation_hook( __FILE__, array( 'Akismet', 'plugin_deactivation' ) ); + +require_once( AKISMET__PLUGIN_DIR . 'class.akismet.php' ); +require_once( AKISMET__PLUGIN_DIR . 'class.akismet-widget.php' ); + +add_action( 'init', array( 'Akismet', 'init' ) ); + +if ( is_admin() ) { + require_once( AKISMET__PLUGIN_DIR . 'class.akismet-admin.php' ); + add_action( 'init', array( 'Akismet_Admin', 'init' ) ); +} + +//add wrapper class around deprecated akismet functions that are referenced elsewhere +require_once( AKISMET__PLUGIN_DIR . 'wrapper.php' ); + diff --git a/wp-content/plugins/akismet/class.akismet-admin.php b/wp-content/plugins/akismet/class.akismet-admin.php new file mode 100644 index 0000000..a1c712e --- /dev/null +++ b/wp-content/plugins/akismet/class.akismet-admin.php @@ -0,0 +1,862 @@ +'.__('Settings', 'akismet').''; + array_unshift( $links, $settings_link ); + return $links; + } + + public static function load_menu() { + if ( class_exists( 'Jetpack' ) ) + $hook = add_submenu_page( 'jetpack', __( 'Akismet' , 'akismet'), __( 'Akismet' , 'akismet'), 'manage_options', 'akismet-key-config', array( 'Akismet_Admin', 'display_page' ) ); + else + $hook = add_options_page( __('Akismet', 'akismet'), __('Akismet', 'akismet'), 'manage_options', 'akismet-key-config', array( 'Akismet_Admin', 'display_page' ) ); + + if ( version_compare( $GLOBALS['wp_version'], '3.3', '>=' ) ) { + add_action( "load-$hook", array( 'Akismet_Admin', 'admin_help' ) ); + } + } + + public static function load_resources() { + global $hook_suffix; + + if ( in_array( $hook_suffix, array( + 'index.php', # dashboard + 'edit-comments.php', + 'comment.php', + 'post.php', + 'settings_page_akismet-key-config', + 'jetpack_page_akismet-key-config', + ) ) ) { + wp_register_style( 'akismet.css', AKISMET__PLUGIN_URL . '_inc/akismet.css', array(), AKISMET_VERSION ); + wp_enqueue_style( 'akismet.css'); + + wp_register_script( 'akismet.js', AKISMET__PLUGIN_URL . '_inc/akismet.js', array('jquery','postbox'), AKISMET_VERSION ); + wp_enqueue_script( 'akismet.js' ); + wp_localize_script( 'akismet.js', 'WPAkismet', array( + 'comment_author_url_nonce' => wp_create_nonce( 'comment_author_url_nonce' ), + 'strings' => array( + 'Remove this URL' => __( 'Remove this URL' , 'akismet'), + 'Removing...' => __( 'Removing...' , 'akismet'), + 'URL removed' => __( 'URL removed' , 'akismet'), + '(undo)' => __( '(undo)' , 'akismet'), + 'Re-adding...' => __( 'Re-adding...' , 'akismet'), + ) + ) ); + } + } + + /** + * Add help to the Akismet page + * + * @return false if not the Akismet page + */ + public static function admin_help() { + $current_screen = get_current_screen(); + + // Screen Content + if ( current_user_can( 'manage_options' ) ) { + if ( !Akismet::get_api_key() || ( isset( $_GET['view'] ) && $_GET['view'] == 'start' ) ) { + //setup page + $current_screen->add_help_tab( + array( + 'id' => 'overview', + 'title' => __( 'Overview' , 'akismet'), + 'content' => + '

' . esc_html__( 'Akismet Setup' , 'akismet') . '

' . + '

' . esc_html__( 'Akismet filters out your comment and trackback spam for you, so you can focus on more important things.' , 'akismet') . '

' . + '

' . esc_html__( 'On this page, you are able to setup the Akismet plugin.' , 'akismet') . '

', + ) + ); + + $current_screen->add_help_tab( + array( + 'id' => 'setup-signup', + 'title' => __( 'New to Akismet' , 'akismet'), + 'content' => + '

' . esc_html__( 'Akismet Setup' , 'akismet') . '

' . + '

' . esc_html__( 'You need to enter an API key to activate the Akismet service on your site.' , 'akismet') . '

' . + '

' . sprintf( __( 'Signup for an account on %s to get an API Key.' , 'akismet'), 'Akismet.com' ) . '

', + ) + ); + + $current_screen->add_help_tab( + array( + 'id' => 'setup-manual', + 'title' => __( 'Enter an API Key' , 'akismet'), + 'content' => + '

' . esc_html__( 'Akismet Setup' , 'akismet') . '

' . + '

' . esc_html__( 'If you already have an API key' , 'akismet') . '

' . + '
    ' . + '
  1. ' . esc_html__( 'Copy and paste the API key into the text field.' , 'akismet') . '
  2. ' . + '
  3. ' . esc_html__( 'Click the Use this Key button.' , 'akismet') . '
  4. ' . + '
', + ) + ); + } + elseif ( isset( $_GET['view'] ) && $_GET['view'] == 'stats' ) { + //stats page + $current_screen->add_help_tab( + array( + 'id' => 'overview', + 'title' => __( 'Overview' , 'akismet'), + 'content' => + '

' . esc_html__( 'Akismet Stats' , 'akismet') . '

' . + '

' . esc_html__( 'Akismet filters out your comment and trackback spam for you, so you can focus on more important things.' , 'akismet') . '

' . + '

' . esc_html__( 'On this page, you are able to view stats on spam filtered on your site.' , 'akismet') . '

', + ) + ); + } + else { + //configuration page + $current_screen->add_help_tab( + array( + 'id' => 'overview', + 'title' => __( 'Overview' , 'akismet'), + 'content' => + '

' . esc_html__( 'Akismet Configuration' , 'akismet') . '

' . + '

' . esc_html__( 'Akismet filters out your comment and trackback spam for you, so you can focus on more important things.' , 'akismet') . '

' . + '

' . esc_html__( 'On this page, you are able to enter/remove an API key, view account information and view spam stats.' , 'akismet') . '

', + ) + ); + + $current_screen->add_help_tab( + array( + 'id' => 'settings', + 'title' => __( 'Settings' , 'akismet'), + 'content' => + '

' . esc_html__( 'Akismet Configuration' , 'akismet') . '

' . + '

' . esc_html__( 'API Key' , 'akismet') . ' - ' . esc_html__( 'Enter/remove an API key.' , 'akismet') . '

' . + '

' . esc_html__( 'Comments' , 'akismet') . ' - ' . esc_html__( 'Show the number of approved comments beside each comment author in the comments list page.' , 'akismet') . '

' . + '

' . esc_html__( 'Strictness' , 'akismet') . ' - ' . esc_html__( 'Choose to either discard the worst spam automatically or to always put all spam in spam folder.' , 'akismet') . '

', + ) + ); + + $current_screen->add_help_tab( + array( + 'id' => 'account', + 'title' => __( 'Account' , 'akismet'), + 'content' => + '

' . esc_html__( 'Akismet Configuration' , 'akismet') . '

' . + '

' . esc_html__( 'Subscription Type' , 'akismet') . ' - ' . esc_html__( 'The Akismet subscription plan' , 'akismet') . '

' . + '

' . esc_html__( 'Status' , 'akismet') . ' - ' . esc_html__( 'The subscription status - active, cancelled or suspended' , 'akismet') . '

', + ) + ); + } + } + + // Help Sidebar + $current_screen->set_help_sidebar( + '

' . esc_html__( 'For more information:' , 'akismet') . '

' . + '

' . esc_html__( 'Akismet FAQ' , 'akismet') . '

' . + '

' . esc_html__( 'Akismet Support' , 'akismet') . '

' + ); + } + + public static function enter_api_key() { + if ( function_exists('current_user_can') && !current_user_can('manage_options') ) + die(__('Cheatin’ uh?', 'akismet')); + + if ( !wp_verify_nonce( $_POST['_wpnonce'], self::NONCE ) ) + return false; + + foreach( array( 'akismet_strictness', 'akismet_show_user_comments_approved' ) as $option ) { + update_option( $option, isset( $_POST[$option] ) && (int) $_POST[$option] == 1 ? '1' : '0' ); + } + + if ( defined( 'WPCOM_API_KEY' ) ) + return false; //shouldn't have option to save key if already defined + + $new_key = preg_replace( '/[^a-h0-9]/i', '', $_POST['key'] ); + $old_key = Akismet::get_api_key(); + + if ( empty( $new_key ) ) { + if ( !empty( $old_key ) ) { + delete_option( 'wordpress_api_key' ); + self::$notices[] = 'new-key-empty'; + } + } + elseif ( $new_key != $old_key ) { + self::save_key( $new_key ); + } + + return true; + } + + public static function save_key( $api_key ) { + $key_status = Akismet::verify_key( $api_key ); + + if ( $key_status == 'valid' ) { + $akismet_user = self::get_akismet_user( $api_key ); + + if ( $akismet_user ) { + if ( in_array( $akismet_user->status, array( 'active', 'active-dunning', 'no-sub' ) ) ) + update_option( 'wordpress_api_key', $api_key ); + + if ( $akismet_user->status == 'active' ) + self::$notices['status'] = 'new-key-valid'; + else + self::$notices['status'] = $akismet_user->status; + } + else + self::$notices['status'] = 'new-key-invalid'; + } + elseif ( in_array( $key_status, array( 'invalid', 'failed' ) ) ) + self::$notices['status'] = 'new-key-'.$key_status; + } + + public static function dashboard_stats() { + if ( !function_exists('did_action') || did_action( 'rightnow_end' ) ) + return; // We already displayed this info in the "Right Now" section + + if ( !$count = get_option('akismet_spam_count') ) + return; + + global $submenu; + + echo '

' . esc_html( _x( 'Spam', 'comments' , 'akismet') ) . '

'; + + echo '

'.sprintf( _n( + 'Akismet has protected your site from %3$s spam comment.', + 'Akismet has protected your site from %3$s spam comments.', + $count + , 'akismet'), 'https://akismet.com/wordpress/', esc_url( add_query_arg( array( 'page' => 'akismet-admin' ), admin_url( isset( $submenu['edit-comments.php'] ) ? 'edit-comments.php' : 'edit.php' ) ) ), number_format_i18n($count) ).'

'; + } + + // WP 2.5+ + public static function rightnow_stats() { + global $submenu, $wp_db_version; + + if ( 8645 < $wp_db_version ) // 2.7 + $link = add_query_arg( array( 'comment_status' => 'spam' ), admin_url( 'edit-comments.php' ) ); + elseif ( isset( $submenu['edit-comments.php'] ) ) + $link = add_query_arg( array( 'page' => 'akismet-admin' ), admin_url( 'edit-comments.php' ) ); + else + $link = add_query_arg( array( 'page' => 'akismet-admin' ), admin_url( 'edit.php' ) ); + + if ( $count = get_option('akismet_spam_count') ) { + $intro = sprintf( _n( + 'Akismet has protected your site from %2$s spam comment already. ', + 'Akismet has protected your site from %2$s spam comments already. ', + $count + , 'akismet'), 'https://akismet.com/wordpress/', number_format_i18n( $count ) ); + } else { + $intro = sprintf( __('Akismet blocks spam from getting to your blog. ', 'akismet'), 'https://akismet.com/wordpress/' ); + } + + $link = function_exists( 'esc_url' ) ? esc_url( $link ) : clean_url( $link ); + if ( $queue_count = self::get_spam_count() ) { + $queue_text = sprintf( _n( + 'There’s %1$s comment in your spam queue right now.', + 'There are %1$s comments in your spam queue right now.', + $queue_count + , 'akismet'), number_format_i18n( $queue_count ), $link ); + } else { + $queue_text = sprintf( __( "There’s nothing in your spam queue at the moment." , 'akismet'), $link ); + } + + $text = $intro . '
' . $queue_text; + echo "

$text

\n"; + } + + public static function check_for_spam_button( $comment_status ) { + if ( 'approved' == $comment_status ) + return; + + if ( function_exists('plugins_url') ) + $link = add_query_arg( array( 'action' => 'akismet_recheck_queue' ), admin_url( 'admin.php' ) ); + else + $link = add_query_arg( array( 'page' => 'akismet-admin', 'recheckqueue' => 'true', 'noheader' => 'true' ), admin_url( 'edit-comments.php' ) ); + + echo '
' . esc_html__('Check for Spam', 'akismet') . ''; + } + + public static function recheck_queue() { + global $wpdb; + + Akismet::fix_scheduled_recheck(); + + if ( ! ( isset( $_GET['recheckqueue'] ) || ( isset( $_REQUEST['action'] ) && 'akismet_recheck_queue' == $_REQUEST['action'] ) ) ) + return; + + $paginate = ''; + if ( isset( $_POST['limit'] ) && isset( $_POST['offset'] ) ) { + $paginate = $wpdb->prepare( " LIMIT %d OFFSET %d", array( $_POST['limit'], $_POST['offset'] ) ); + } + $moderation = $wpdb->get_results( "SELECT * FROM {$wpdb->comments} WHERE comment_approved = '0'{$paginate}", ARRAY_A ); + + foreach ( (array) $moderation as $c ) { + $c['user_ip'] = $c['comment_author_IP']; + $c['user_agent'] = $c['comment_agent']; + $c['referrer'] = ''; + $c['blog'] = get_bloginfo('url'); + $c['blog_lang'] = get_locale(); + $c['blog_charset'] = get_option('blog_charset'); + $c['permalink'] = get_permalink($c['comment_post_ID']); + + $c['user_role'] = ''; + if ( isset( $c['user_ID'] ) ) + $c['user_role'] = Akismet::get_user_roles($c['user_ID']); + + if ( Akismet::is_test_mode() ) + $c['is_test'] = 'true'; + + add_comment_meta( $c['comment_ID'], 'akismet_rechecking', true ); + + $response = Akismet::http_post( Akismet::build_query( $c ), 'comment-check' ); + + if ( 'true' == $response[1] ) { + wp_set_comment_status( $c['comment_ID'], 'spam' ); + update_comment_meta( $c['comment_ID'], 'akismet_result', 'true' ); + delete_comment_meta( $c['comment_ID'], 'akismet_error' ); + delete_comment_meta( $c['comment_ID'], 'akismet_delayed_moderation_email' ); + Akismet::update_comment_history( $c['comment_ID'], __('Akismet re-checked and caught this comment as spam', 'akismet'), 'check-spam' ); + + } elseif ( 'false' == $response[1] ) { + update_comment_meta( $c['comment_ID'], 'akismet_result', 'false' ); + delete_comment_meta( $c['comment_ID'], 'akismet_error' ); + delete_comment_meta( $c['comment_ID'], 'akismet_delayed_moderation_email' ); + Akismet::update_comment_history( $c['comment_ID'], __('Akismet re-checked and cleared this comment', 'akismet'), 'check-ham' ); + // abnormal result: error + } else { + update_comment_meta( $c['comment_ID'], 'akismet_result', 'error' ); + Akismet::update_comment_history( $c['comment_ID'], sprintf( __('Akismet was unable to re-check this comment (response: %s)', 'akismet'), substr($response[1], 0, 50)), 'check-error' ); + } + + delete_comment_meta( $c['comment_ID'], 'akismet_rechecking' ); + } + if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) { + wp_send_json( array( + 'processed' => count((array) $moderation), + )); + } + else { + $redirect_to = isset( $_SERVER['HTTP_REFERER'] ) ? $_SERVER['HTTP_REFERER'] : admin_url( 'edit-comments.php' ); + wp_safe_redirect( $redirect_to ); + exit; + } + } + + // Adds an 'x' link next to author URLs, clicking will remove the author URL and show an undo link + public static function remove_comment_author_url() { + if ( !empty( $_POST['id'] ) && check_admin_referer( 'comment_author_url_nonce' ) ) { + $comment = get_comment( intval( $_POST['id'] ), ARRAY_A ); + if ( $comment && current_user_can( 'edit_comment', $comment['comment_ID'] ) ) { + $comment['comment_author_url'] = ''; + do_action( 'comment_remove_author_url' ); + print( wp_update_comment( $comment ) ); + die(); + } + } + } + + public static function add_comment_author_url() { + if ( !empty( $_POST['id'] ) && !empty( $_POST['url'] ) && check_admin_referer( 'comment_author_url_nonce' ) ) { + $comment = get_comment( intval( $_POST['id'] ), ARRAY_A ); + if ( $comment && current_user_can( 'edit_comment', $comment['comment_ID'] ) ) { + $comment['comment_author_url'] = esc_url( $_POST['url'] ); + do_action( 'comment_add_author_url' ); + print( wp_update_comment( $comment ) ); + die(); + } + } + } + + public static function comment_row_action( $a, $comment ) { + + // failsafe for old WP versions + if ( !function_exists('add_comment_meta') ) + return $a; + + $akismet_result = get_comment_meta( $comment->comment_ID, 'akismet_result', true ); + $akismet_error = get_comment_meta( $comment->comment_ID, 'akismet_error', true ); + $user_result = get_comment_meta( $comment->comment_ID, 'akismet_user_result', true); + $comment_status = wp_get_comment_status( $comment->comment_ID ); + $desc = null; + if ( $akismet_error ) { + $desc = __( 'Awaiting spam check' , 'akismet'); + } elseif ( !$user_result || $user_result == $akismet_result ) { + // Show the original Akismet result if the user hasn't overridden it, or if their decision was the same + if ( $akismet_result == 'true' && $comment_status != 'spam' && $comment_status != 'trash' ) + $desc = __( 'Flagged as spam by Akismet' , 'akismet'); + elseif ( $akismet_result == 'false' && $comment_status == 'spam' ) + $desc = __( 'Cleared by Akismet' , 'akismet'); + } else { + $who = get_comment_meta( $comment->comment_ID, 'akismet_user', true ); + if ( $user_result == 'true' ) + $desc = sprintf( __('Flagged as spam by %s', 'akismet'), $who ); + else + $desc = sprintf( __('Un-spammed by %s', 'akismet'), $who ); + } + + // add a History item to the hover links, just after Edit + if ( $akismet_result ) { + $b = array(); + foreach ( $a as $k => $item ) { + $b[ $k ] = $item; + if ( + $k == 'edit' + || ( $k == 'unspam' && $GLOBALS['wp_version'] >= 3.4 ) + ) { + $b['history'] = ' '. esc_html__('History', 'akismet') . ''; + } + } + + $a = $b; + } + + if ( $desc ) + echo ''.esc_html( $desc ).''; + + $show_user_comments = apply_filters( 'akismet_show_user_comments_approved', get_option('akismet_show_user_comments_approved') ); + $show_user_comments = $show_user_comments === 'false' ? false : $show_user_comments; //option used to be saved as 'false' / 'true' + + if ( $show_user_comments ) { + $comment_count = Akismet::get_user_comments_approved( $comment->user_id, $comment->comment_author_email, $comment->comment_author, $comment->comment_author_url ); + $comment_count = intval( $comment_count ); + echo ''; + } + + return $a; + } + + public static function comment_status_meta_box( $comment ) { + $history = Akismet::get_comment_history( $comment->comment_ID ); + + if ( $history ) { + echo '
'; + foreach ( $history as $row ) { + $time = date( 'D d M Y @ h:i:m a', $row['time'] ) . ' GMT'; + echo '
' . sprintf( esc_html__('%s ago', 'akismet'), human_time_diff( $row['time'] ) ) . ' - '; + echo esc_html( $row['message'] ) . '
'; + } + echo '
'; + } + } + + public static function plugin_action_links( $links, $file ) { + if ( $file == plugin_basename( AKISMET__PLUGIN_URL . '/akismet.php' ) ) { + $links[] = ''.esc_html__( 'Settings' , 'akismet').''; + } + + return $links; + } + + public static function text_add_link_callback( $m ) { + // bare link? + if ( $m[4] == $m[2] ) + return ''.$m[4].''; + else + return ''.$m[4].''; + } + + public static function text_add_link_class( $comment_text ) { + return preg_replace_callback( '#]*)href="([^"]+)"([^>]*)>(.*?)#i', array( 'Akismet_Admin', 'text_add_link_callback' ), $comment_text ); + } + + // Total spam in queue + // get_option( 'akismet_spam_count' ) is the total caught ever + public static function get_spam_count( $type = false ) { + global $wpdb; + + if ( !$type ) { // total + $count = wp_cache_get( 'akismet_spam_count', 'widget' ); + if ( false === $count ) { + if ( function_exists('wp_count_comments') ) { + $count = wp_count_comments(); + $count = $count->spam; + } else { + $count = (int) $wpdb->get_var("SELECT COUNT(comment_ID) FROM {$wpdb->comments} WHERE comment_approved = 'spam'"); + } + wp_cache_set( 'akismet_spam_count', $count, 'widget', 3600 ); + } + return $count; + } elseif ( 'comments' == $type || 'comment' == $type ) { // comments + $type = ''; + } + + return (int) $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(comment_ID) FROM {$wpdb->comments} WHERE comment_approved = 'spam' AND comment_type = %s", $type ) ); + } + + // Check connectivity between the WordPress blog and Akismet's servers. + // Returns an associative array of server IP addresses, where the key is the IP address, and value is true (available) or false (unable to connect). + public static function check_server_ip_connectivity() { + + $servers = $ips = array(); + + // Some web hosts may disable this function + if ( function_exists('gethostbynamel') ) { + + $ips = gethostbynamel( 'rest.akismet.com' ); + if ( $ips && is_array($ips) && count($ips) ) { + $api_key = Akismet::get_api_key(); + + foreach ( $ips as $ip ) { + $response = Akismet::verify_key( $api_key, $ip ); + // even if the key is invalid, at least we know we have connectivity + if ( $response == 'valid' || $response == 'invalid' ) + $servers[$ip] = 'connected'; + else + $servers[$ip] = $response ? $response : 'unable to connect'; + } + } + } + + return $servers; + } + + // Simpler connectivity check + public static function check_server_connectivity($cache_timeout = 86400) { + + $debug = array(); + $debug[ 'PHP_VERSION' ] = PHP_VERSION; + $debug[ 'WORDPRESS_VERSION' ] = $GLOBALS['wp_version']; + $debug[ 'AKISMET_VERSION' ] = AKISMET_VERSION; + $debug[ 'AKISMET__PLUGIN_DIR' ] = AKISMET__PLUGIN_DIR; + $debug[ 'SITE_URL' ] = site_url(); + $debug[ 'HOME_URL' ] = home_url(); + + $servers = get_option('akismet_available_servers'); + if ( (time() - get_option('akismet_connectivity_time') < $cache_timeout) && $servers !== false ) { + $servers = self::check_server_ip_connectivity(); + update_option('akismet_available_servers', $servers); + update_option('akismet_connectivity_time', time()); + } + + $response = wp_remote_get( 'http://rest.akismet.com/1.1/test' ); + + $debug[ 'gethostbynamel' ] = function_exists('gethostbynamel') ? 'exists' : 'not here'; + $debug[ 'Servers' ] = $servers; + $debug[ 'Test Connection' ] = $response; + + Akismet::log( $debug ); + + if ( $response && 'connected' == wp_remote_retrieve_body( $response ) ) + return true; + + return false; + } + + // Check the server connectivity and store the available servers in an option. + public static function get_server_connectivity($cache_timeout = 86400) { + return self::check_server_connectivity( $cache_timeout ); + } + + public static function get_number_spam_waiting() { + global $wpdb; + return (int) $wpdb->get_var( "SELECT COUNT(*) FROM {$wpdb->commentmeta} WHERE meta_key = 'akismet_error'" ); + } + + public static function get_page_url( $page = 'config' ) { + + $args = array( 'page' => 'akismet-key-config' ); + + if ( $page == 'stats' ) + $args = array( 'page' => 'akismet-key-config', 'view' => 'stats' ); + elseif ( $page == 'delete_key' ) + $args = array( 'page' => 'akismet-key-config', 'view' => 'start', 'action' => 'delete-key', '_wpnonce' => wp_create_nonce( self::NONCE ) ); + + $url = add_query_arg( $args, class_exists( 'Jetpack' ) ? admin_url( 'admin.php' ) : admin_url( 'options-general.php' ) ); + + return $url; + } + + public static function get_akismet_user( $api_key ) { + $akismet_user = Akismet::http_post( Akismet::build_query( array( 'key' => $api_key ) ), 'get-subscription' ); + + if ( ! empty( $akismet_user[1] ) ) + $akismet_user = json_decode( $akismet_user[1] ); + else + $akismet_user = false; + + return $akismet_user; + } + + public static function get_stats( $api_key ) { + $stat_totals = array(); + + foreach( array( '6-months', 'all' ) as $interval ) { + $response = Akismet::http_post( Akismet::build_query( array( 'blog' => urlencode( get_bloginfo('url') ), 'key' => $api_key, 'from' => $interval ) ), 'get-stats' ); + + if ( ! empty( $response[1] ) ) { + $stat_totals[$interval] = json_decode( $response[1] ); + } + } + return $stat_totals; + } + + public static function verify_wpcom_key( $api_key, $user_id, $token = '' ) { + $akismet_account = Akismet::http_post( Akismet::build_query( array( + 'user_id' => $user_id, + 'api_key' => $api_key, + 'token' => $token, + 'get_account_type' => 'true' + ) ), 'verify-wpcom-key' ); + + if ( ! empty( $akismet_account[1] ) ) + $akismet_account = json_decode( $akismet_account[1] ); + + Akismet::log( compact( 'akismet_account' ) ); + + return $akismet_account; + } + + public static function display_alert() { + Akismet::view( 'notice', array( + 'type' => 'alert', + 'code' => (int) get_option( 'akismet_alert_code' ), + 'msg' => get_option( 'akismet_alert_msg' ) + ) ); + } + + public static function display_spam_check_warning() { + Akismet::fix_scheduled_recheck(); + + if ( wp_next_scheduled('akismet_schedule_cron_recheck') > time() && self::get_number_spam_waiting() > 0 ) { + $link_text = apply_filters( 'akismet_spam_check_warning_link_text', sprintf( __( 'Please check your Akismet configuration and contact your web host if problems persist.', 'akismet'), esc_url( self::get_page_url() ) ) ); + Akismet::view( 'notice', array( 'type' => 'spam-check', 'link_text' => $link_text ) ); + } + } + + public static function display_invalid_version() { + Akismet::view( 'notice', array( 'type' => 'version' ) ); + } + + public static function display_api_key_warning() { + Akismet::view( 'notice', array( 'type' => 'plugin' ) ); + } + + public static function display_page() { + if ( !Akismet::get_api_key() || ( isset( $_GET['view'] ) && $_GET['view'] == 'start' ) ) + self::display_start_page(); + elseif ( isset( $_GET['view'] ) && $_GET['view'] == 'stats' ) + self::display_stats_page(); + else + self::display_configuration_page(); + } + + public static function display_start_page() { + if ( isset( $_GET['action'] ) ) { + if ( $_GET['action'] == 'delete-key' ) { + if ( isset( $_GET['_wpnonce'] ) && wp_verify_nonce( $_GET['_wpnonce'], self::NONCE ) ) + delete_option( 'wordpress_api_key' ); + } + } + + if ( $api_key = Akismet::get_api_key() ) { + self::display_configuration_page(); + return; + } + + //the user can choose to auto connect their API key by clicking a button on the akismet done page + //if jetpack, get verified api key by using connected wpcom user id + //if no jetpack, get verified api key by using an akismet token + + $akismet_user = false; + + if ( isset( $_GET['token'] ) && preg_match('/^(\d+)-[0-9a-f]{20}$/', $_GET['token'] ) ) + $akismet_user = self::verify_wpcom_key( '', '', $_GET['token'] ); + elseif ( $jetpack_user = self::get_jetpack_user() ) + $akismet_user = self::verify_wpcom_key( $jetpack_user['api_key'], $jetpack_user['user_id'] ); + + if ( isset( $_GET['action'] ) ) { + if ( $_GET['action'] == 'save-key' ) { + if ( is_object( $akismet_user ) ) { + self::save_key( $akismet_user->api_key ); + self::display_notice(); + self::display_configuration_page(); + return; + } + } + } + + echo '

'.esc_html__('Akismet', 'akismet').'

'; + + self::display_status(); + + Akismet::view( 'start', compact( 'akismet_user' ) ); + } + + public static function display_stats_page() { + Akismet::view( 'stats' ); + } + + public static function display_configuration_page() { + $api_key = Akismet::get_api_key(); + $akismet_user = self::get_akismet_user( $api_key ); + $stat_totals = self::get_stats( $api_key ); + + // If unset, create the new strictness option using the old discard option to determine its default + if ( get_option( 'akismet_strictness' ) === false ) + add_option( 'akismet_strictness', (get_option('akismet_discard_month') === 'true' ? '1' : '0') ); + + if ( empty( self::$notices ) ) { + //show status + if ( ! empty( $stat_totals['all'] ) && isset( $stat_totals['all']->time_saved ) && $akismet_user->status == 'active' && $akismet_user->account_type == 'free-api-key' ) { + + $time_saved = false; + + if ( $stat_totals['all']->time_saved > 1800 ) { + $total_in_minutes = round( $stat_totals['all']->time_saved / 60 ); + $total_in_hours = round( $total_in_minutes / 60 ); + $total_in_days = round( $total_in_hours / 8 ); + $cleaning_up = __( 'Cleaning up spam takes time.' , 'akismet'); + + if ( $total_in_days > 1 ) + $time_saved = $cleaning_up . ' ' . sprintf( __( 'Since you joined us, Akismet has saved you %s days!' , 'akismet'), number_format_i18n( $total_in_days ) ); + elseif ( $total_in_hours > 1 ) + $time_saved = $cleaning_up . ' ' . sprintf( __( 'Since you joined us, Akismet has saved you %d hours!' , 'akismet'), $total_in_hours ); + elseif ( $total_in_minutes >= 30 ) + $time_saved = $cleaning_up . ' ' . sprintf( __( 'Since you joined us, Akismet has saved you %d minutes!' , 'akismet'), $total_in_minutes ); + } + + Akismet::view( 'notice', array( 'type' => 'active-notice', 'time_saved' => $time_saved ) ); + } + + if ( !empty( $akismet_user->limit_reached ) && in_array( $akismet_user->limit_reached, array( 'yellow', 'red' ) ) ) { + Akismet::view( 'notice', array( 'type' => 'limit-reached', 'level' => $akismet_user->limit_reached ) ); + } + } + + if ( !isset( self::$notices['status'] ) && in_array( $akismet_user->status, array( 'cancelled', 'suspended', 'missing', 'no-sub' ) ) ) + Akismet::view( 'notice', array( 'type' => $akismet_user->status ) ); + + Akismet::log( compact( 'stat_totals', 'akismet_user' ) ); + Akismet::view( 'config', compact( 'api_key', 'akismet_user', 'stat_totals' ) ); + } + + public static function display_notice() { + global $hook_suffix; + + if ( in_array( $hook_suffix, array( 'jetpack_page_akismet-key-config', 'settings_page_akismet-key-config', 'edit-comments.php' ) ) && (int) get_option( 'akismet_alert_code' ) > 0 ) { + self::display_alert(); + } + elseif ( $hook_suffix == 'plugins.php' && !Akismet::get_api_key() ) { + self::display_api_key_warning(); + } + elseif ( $hook_suffix == 'edit-comments.php' && wp_next_scheduled( 'akismet_schedule_cron_recheck' ) ) { + self::display_spam_check_warning(); + } + elseif ( in_array( $hook_suffix, array( 'jetpack_page_akismet-key-config', 'settings_page_akismet-key-config' ) ) && Akismet::get_api_key() ) { + self::display_status(); + } + } + + public static function display_status() { + $type = ''; + + if ( !self::get_server_connectivity() ) + $type = 'servers-be-down'; + + if ( !empty( $type ) ) + Akismet::view( 'notice', compact( 'type' ) ); + elseif ( !empty( self::$notices ) ) { + foreach ( self::$notices as $type ) + Akismet::view( 'notice', compact( 'type' ) ); + } + } + + private static function get_jetpack_user() { + if ( !class_exists('Jetpack') ) + return false; + + Jetpack::load_xml_rpc_client(); + $xml = new Jetpack_IXR_ClientMulticall( array( 'user_id' => get_current_user_id() ) ); + + $xml->addCall( 'wpcom.getUserID' ); + $xml->addCall( 'akismet.getAPIKey' ); + $xml->query(); + + Akismet::log( compact( 'xml' ) ); + + if ( !$xml->isError() ) { + $responses = $xml->getResponse(); + if ( count( $responses ) > 1 ) { + $api_key = array_shift( $responses[0] ); + $user_id = (int) array_shift( $responses[1] ); + return compact( 'api_key', 'user_id' ); + } + } + return false; + } + + /** + * Some commentmeta isn't useful in an export file. Suppress it (when supported). + * + * @param bool $exclude + * @param string $key The meta key + * @param object $meta The meta object + * @return bool Whether to exclude this meta entry from the export. + */ + public static function exclude_commentmeta_from_export( $exclude, $key, $meta ) { + if ( in_array( $key, array( 'akismet_as_submitted', 'akismet_rechecking', 'akismet_delayed_moderation_email' ) ) ) { + return true; + } + + return $exclude; + } +} \ No newline at end of file diff --git a/wp-content/plugins/akismet/class.akismet-widget.php b/wp-content/plugins/akismet/class.akismet-widget.php new file mode 100644 index 0000000..a60ae60 --- /dev/null +++ b/wp-content/plugins/akismet/class.akismet-widget.php @@ -0,0 +1,110 @@ + __( 'Display the number of spam comments Akismet has caught' , 'akismet') ) + ); + + if ( is_active_widget( false, false, $this->id_base ) ) { + add_action( 'wp_head', array( $this, 'css' ) ); + } + } + + function css() { +?> + + + + + +

+ + +

+ + + + + + $key, 'blog' => get_option('home') ) ), 'verify-key', $ip ); + } + + public static function verify_key( $key, $ip = null ) { + $response = self::check_key_status( $key, $ip ); + + if ( $response[1] != 'valid' && $response[1] != 'invalid' ) + return 'failed'; + + self::update_alert( $response ); + + return $response[1]; + } + + public static function auto_check_comment( $commentdata ) { + self::$last_comment_result = null; + + $comment = $commentdata; + + $comment['user_ip'] = self::get_ip_address(); + $comment['user_agent'] = self::get_user_agent(); + $comment['referrer'] = self::get_referer(); + $comment['blog'] = get_option('home'); + $comment['blog_lang'] = get_locale(); + $comment['blog_charset'] = get_option('blog_charset'); + $comment['permalink'] = get_permalink( $comment['comment_post_ID'] ); + + if ( !empty( $comment['user_ID'] ) ) + $comment['user_role'] = Akismet::get_user_roles( $comment['user_ID'] ); + + $akismet_nonce_option = apply_filters( 'akismet_comment_nonce', get_option( 'akismet_comment_nonce' ) ); + $comment['akismet_comment_nonce'] = 'inactive'; + if ( $akismet_nonce_option == 'true' || $akismet_nonce_option == '' ) { + $comment['akismet_comment_nonce'] = 'failed'; + if ( isset( $_POST['akismet_comment_nonce'] ) && wp_verify_nonce( $_POST['akismet_comment_nonce'], 'akismet_comment_nonce_' . $comment['comment_post_ID'] ) ) + $comment['akismet_comment_nonce'] = 'passed'; + + // comment reply in wp-admin + if ( isset( $_POST['_ajax_nonce-replyto-comment'] ) && check_ajax_referer( 'replyto-comment', '_ajax_nonce-replyto-comment' ) ) + $comment['akismet_comment_nonce'] = 'passed'; + + } + + if ( self::is_test_mode() ) + $comment['is_test'] = 'true'; + + foreach( $_POST as $key => $value ) { + if ( is_string( $value ) ) + $comment["POST_{$key}"] = $value; + } + + $ignore = array( 'HTTP_COOKIE', 'HTTP_COOKIE2', 'PHP_AUTH_PW' ); + + foreach ( $_SERVER as $key => $value ) { + if ( !in_array( $key, $ignore ) && is_string($value) ) + $comment["$key"] = $value; + else + $comment["$key"] = ''; + } + + $post = get_post( $comment['comment_post_ID'] ); + $comment[ 'comment_post_modified_gmt' ] = $post->post_modified_gmt; + + $response = self::http_post( Akismet::build_query( $comment ), 'comment-check' ); + + do_action( 'akismet_comment_check_response', $response ); + + self::update_alert( $response ); + + $commentdata['comment_as_submitted'] = array_intersect_key( $comment, array( 'blog' => '', 'blog_charset' => '', 'blog_lang' => '', 'blog_ua' => '', 'comment_agent' => '', 'comment_author' => '', 'comment_author_IP' => '', 'comment_author_email' => '', 'comment_author_url' => '', 'comment_content' => '', 'comment_date_gmt' => '', 'comment_tags' => '', 'comment_type' => '', 'guid' => '', 'is_test' => '', 'permalink' => '', 'reporter' => '', 'site_domain' => '', 'submit_referer' => '', 'submit_uri' => '', 'user_ID' => '', 'user_agent' => '', 'user_id' => '', 'user_ip' => '' ) ); + $commentdata['akismet_result'] = $response[1]; + + if ( isset( $response[0]['x-akismet-pro-tip'] ) ) + $commentdata['akismet_pro_tip'] = $response[0]['x-akismet-pro-tip']; + + if ( isset( $response[0]['x-akismet-error'] ) ) { + // An error occurred that we anticipated (like a suspended key) and want the user to act on. + // Send to moderation. + self::$last_comment_result = '0'; + } + else if ( 'true' == $response[1] ) { + // akismet_spam_count will be incremented later by comment_is_spam() + self::$last_comment_result = 'spam'; + + $discard = ( isset( $commentdata['akismet_pro_tip'] ) && $commentdata['akismet_pro_tip'] === 'discard' && self::allow_discard() ); + + do_action( 'akismet_spam_caught', $discard ); + + if ( $discard ) { + // akismet_result_spam() won't be called so bump the counter here + if ( $incr = apply_filters('akismet_spam_count_incr', 1) ) + update_option( 'akismet_spam_count', get_option('akismet_spam_count') + $incr ); + $redirect_to = isset( $_SERVER['HTTP_REFERER'] ) ? $_SERVER['HTTP_REFERER'] : get_permalink( $post ); + wp_safe_redirect( esc_url_raw( $redirect_to ) ); + die(); + } + } + + // if the response is neither true nor false, hold the comment for moderation and schedule a recheck + if ( 'true' != $response[1] && 'false' != $response[1] ) { + if ( !current_user_can('moderate_comments') ) { + // Comment status should be moderated + self::$last_comment_result = '0'; + } + if ( function_exists('wp_next_scheduled') && function_exists('wp_schedule_single_event') ) { + if ( !wp_next_scheduled( 'akismet_schedule_cron_recheck' ) ) { + wp_schedule_single_event( time() + 1200, 'akismet_schedule_cron_recheck' ); + } + } + + self::$prevent_moderation_email_for_these_comments[] = $commentdata; + } + + if ( function_exists('wp_next_scheduled') && function_exists('wp_schedule_event') ) { + // WP 2.1+: delete old comments daily + if ( !wp_next_scheduled( 'akismet_scheduled_delete' ) ) + wp_schedule_event( time(), 'daily', 'akismet_scheduled_delete' ); + } + elseif ( (mt_rand(1, 10) == 3) ) { + // WP 2.0: run this one time in ten + self::delete_old_comments(); + } + + self::set_last_comment( $commentdata ); + self::fix_scheduled_recheck(); + + return self::$last_comment; + } + + public static function get_last_comment() { + return self::$last_comment; + } + + public static function set_last_comment( $comment ) { + if ( is_null( $comment ) ) { + self::$last_comment = null; + } + else { + // We filter it here so that it matches the filtered comment data that we'll have to compare against later. + // wp_filter_comment expects comment_author_IP + self::$last_comment = wp_filter_comment( + array_merge( + array( 'comment_author_IP' => self::get_ip_address() ), + $comment + ) + ); + } + } + + // this fires on wp_insert_comment. we can't update comment_meta when auto_check_comment() runs + // because we don't know the comment ID at that point. + public static function auto_check_update_meta( $id, $comment ) { + + // failsafe for old WP versions + if ( !function_exists('add_comment_meta') ) + return false; + + if ( !isset( self::$last_comment['comment_author_email'] ) ) + self::$last_comment['comment_author_email'] = ''; + + // wp_insert_comment() might be called in other contexts, so make sure this is the same comment + // as was checked by auto_check_comment + if ( is_object( $comment ) && !empty( self::$last_comment ) && is_array( self::$last_comment ) ) { + if ( self::matches_last_comment( $comment ) ) { + + load_plugin_textdomain( 'akismet' ); + + // normal result: true or false + if ( self::$last_comment['akismet_result'] == 'true' ) { + update_comment_meta( $comment->comment_ID, 'akismet_result', 'true' ); + self::update_comment_history( $comment->comment_ID, __('Akismet caught this comment as spam', 'akismet'), 'check-spam' ); + if ( $comment->comment_approved != 'spam' ) + self::update_comment_history( $comment->comment_ID, sprintf( __('Comment status was changed to %s', 'akismet'), $comment->comment_approved), 'status-changed'.$comment->comment_approved ); + } + elseif ( self::$last_comment['akismet_result'] == 'false' ) { + update_comment_meta( $comment->comment_ID, 'akismet_result', 'false' ); + self::update_comment_history( $comment->comment_ID, __('Akismet cleared this comment', 'akismet'), 'check-ham' ); + if ( $comment->comment_approved == 'spam' ) { + if ( wp_blacklist_check($comment->comment_author, $comment->comment_author_email, $comment->comment_author_url, $comment->comment_content, $comment->comment_author_IP, $comment->comment_agent) ) + self::update_comment_history( $comment->comment_ID, __('Comment was caught by wp_blacklist_check', 'akismet'), 'wp-blacklisted' ); + else + self::update_comment_history( $comment->comment_ID, sprintf( __('Comment status was changed to %s', 'akismet'), $comment->comment_approved), 'status-changed-'.$comment->comment_approved ); + } + } // abnormal result: error + else { + update_comment_meta( $comment->comment_ID, 'akismet_error', time() ); + self::update_comment_history( $comment->comment_ID, sprintf( __('Akismet was unable to check this comment (response: %s), will automatically retry again later.', 'akismet'), substr(self::$last_comment['akismet_result'], 0, 50)), 'check-error' ); + } + + // record the complete original data as submitted for checking + if ( isset( self::$last_comment['comment_as_submitted'] ) ) + update_comment_meta( $comment->comment_ID, 'akismet_as_submitted', self::$last_comment['comment_as_submitted'] ); + + if ( isset( self::$last_comment['akismet_pro_tip'] ) ) + update_comment_meta( $comment->comment_ID, 'akismet_pro_tip', self::$last_comment['akismet_pro_tip'] ); + } + } + } + + public static function delete_old_comments() { + global $wpdb; + + while( $comment_ids = $wpdb->get_col( $wpdb->prepare( "SELECT comment_id FROM {$wpdb->comments} WHERE DATE_SUB(NOW(), INTERVAL 15 DAY) > comment_date_gmt AND comment_approved = 'spam' LIMIT %d", defined( 'AKISMET_DELETE_LIMIT' ) ? AKISMET_DELETE_LIMIT : 10000 ) ) ) { + if ( empty( $comment_ids ) ) + return; + + $wpdb->queries = array(); + + do_action( 'delete_comment', $comment_ids ); + + $comma_comment_ids = implode( ', ', array_map('intval', $comment_ids) ); + + $wpdb->query("DELETE FROM {$wpdb->comments} WHERE comment_id IN ( $comma_comment_ids )"); + $wpdb->query("DELETE FROM {$wpdb->commentmeta} WHERE comment_id IN ( $comma_comment_ids )"); + + clean_comment_cache( $comment_ids ); + } + + if ( apply_filters( 'akismet_optimize_table', ( mt_rand(1, 5000) == 11), $wpdb->comments ) ) // lucky number + $wpdb->query("OPTIMIZE TABLE {$wpdb->comments}"); + } + + public static function delete_old_comments_meta() { + global $wpdb; + + $interval = apply_filters( 'akismet_delete_commentmeta_interval', 15 ); + + # enfore a minimum of 1 day + $interval = absint( $interval ); + if ( $interval < 1 ) + $interval = 1; + + // akismet_as_submitted meta values are large, so expire them + // after $interval days regardless of the comment status + while ( $comment_ids = $wpdb->get_col( $wpdb->prepare( "SELECT m.comment_id FROM {$wpdb->commentmeta} as m INNER JOIN {$wpdb->comments} as c USING(comment_id) WHERE m.meta_key = 'akismet_as_submitted' AND DATE_SUB(NOW(), INTERVAL %d DAY) > c.comment_date_gmt LIMIT 10000", $interval ) ) ) { + if ( empty( $comment_ids ) ) + return; + + $wpdb->queries = array(); + + foreach ( $comment_ids as $comment_id ) { + delete_comment_meta( $comment_id, 'akismet_as_submitted' ); + } + } + + if ( apply_filters( 'akismet_optimize_table', ( mt_rand(1, 5000) == 11), $wpdb->commentmeta ) ) // lucky number + $wpdb->query("OPTIMIZE TABLE {$wpdb->commentmeta}"); + } + + // how many approved comments does this author have? + public static function get_user_comments_approved( $user_id, $comment_author_email, $comment_author, $comment_author_url ) { + global $wpdb; + + if ( !empty( $user_id ) ) + return (int) $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM {$wpdb->comments} WHERE user_id = %d AND comment_approved = 1", $user_id ) ); + + if ( !empty( $comment_author_email ) ) + return (int) $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM {$wpdb->comments} WHERE comment_author_email = %s AND comment_author = %s AND comment_author_url = %s AND comment_approved = 1", $comment_author_email, $comment_author, $comment_author_url ) ); + + return 0; + } + + // get the full comment history for a given comment, as an array in reverse chronological order + public static function get_comment_history( $comment_id ) { + + // failsafe for old WP versions + if ( !function_exists('add_comment_meta') ) + return false; + + $history = get_comment_meta( $comment_id, 'akismet_history', false ); + usort( $history, array( 'Akismet', '_cmp_time' ) ); + return $history; + } + + // log an event for a given comment, storing it in comment_meta + public static function update_comment_history( $comment_id, $message, $event=null ) { + global $current_user; + + // failsafe for old WP versions + if ( !function_exists('add_comment_meta') ) + return false; + + $user = ''; + if ( is_object( $current_user ) && isset( $current_user->user_login ) ) + $user = $current_user->user_login; + + $event = array( + 'time' => self::_get_microtime(), + 'message' => $message, + 'event' => $event, + 'user' => $user, + ); + + // $unique = false so as to allow multiple values per comment + $r = add_comment_meta( $comment_id, 'akismet_history', $event, false ); + } + + public static function check_db_comment( $id, $recheck_reason = 'recheck_queue' ) { + global $wpdb; + + $c = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$wpdb->comments} WHERE comment_ID = %d", $id ), ARRAY_A ); + if ( !$c ) + return; + + $c['user_ip'] = $c['comment_author_IP']; + $c['user_agent'] = $c['comment_agent']; + $c['referrer'] = ''; + $c['blog'] = get_option('home'); + $c['blog_lang'] = get_locale(); + $c['blog_charset'] = get_option('blog_charset'); + $c['permalink'] = get_permalink($c['comment_post_ID']); + $c['recheck_reason'] = $recheck_reason; + + if ( self::is_test_mode() ) + $c['is_test'] = 'true'; + + $response = self::http_post( Akismet::build_query( $c ), 'comment-check' ); + + return ( is_array( $response ) && ! empty( $response[1] ) ) ? $response[1] : false; + } + + + + public static function transition_comment_status( $new_status, $old_status, $comment ) { + + if ( $new_status == $old_status ) + return; + + # we don't need to record a history item for deleted comments + if ( $new_status == 'delete' ) + return; + + if ( !current_user_can( 'edit_post', $comment->comment_post_ID ) && !current_user_can( 'moderate_comments' ) ) + return; + + if ( defined('WP_IMPORTING') && WP_IMPORTING == true ) + return; + + // if this is present, it means the status has been changed by a re-check, not an explicit user action + if ( get_comment_meta( $comment->comment_ID, 'akismet_rechecking' ) ) + return; + + global $current_user; + $reporter = ''; + if ( is_object( $current_user ) ) + $reporter = $current_user->user_login; + + // Assumption alert: + // We want to submit comments to Akismet only when a moderator explicitly spams or approves it - not if the status + // is changed automatically by another plugin. Unfortunately WordPress doesn't provide an unambiguous way to + // determine why the transition_comment_status action was triggered. And there are several different ways by which + // to spam and unspam comments: bulk actions, ajax, links in moderation emails, the dashboard, and perhaps others. + // We'll assume that this is an explicit user action if certain POST/GET variables exist. + if ( ( isset( $_POST['status'] ) && in_array( $_POST['status'], array( 'spam', 'unspam' ) ) ) || + ( isset( $_POST['spam'] ) && (int) $_POST['spam'] == 1 ) || + ( isset( $_POST['unspam'] ) && (int) $_POST['unspam'] == 1 ) || + ( isset( $_POST['comment_status'] ) && in_array( $_POST['comment_status'], array( 'spam', 'unspam' ) ) ) || + ( isset( $_GET['action'] ) && in_array( $_GET['action'], array( 'spam', 'unspam' ) ) ) || + ( isset( $_POST['action'] ) && in_array( $_POST['action'], array( 'editedcomment' ) ) ) + ) { + if ( $new_status == 'spam' && ( $old_status == 'approved' || $old_status == 'unapproved' || !$old_status ) ) { + return self::submit_spam_comment( $comment->comment_ID ); + } elseif ( $old_status == 'spam' && ( $new_status == 'approved' || $new_status == 'unapproved' ) ) { + return self::submit_nonspam_comment( $comment->comment_ID ); + } + } + + self::update_comment_history( $comment->comment_ID, sprintf( __('%1$s changed the comment status to %2$s', 'akismet'), $reporter, $new_status ), 'status-' . $new_status ); + } + + public static function submit_spam_comment( $comment_id ) { + global $wpdb, $current_user, $current_site; + + $comment_id = (int) $comment_id; + + $comment = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$wpdb->comments} WHERE comment_ID = %d", $comment_id ) ); + + if ( !$comment ) // it was deleted + return; + + if ( 'spam' != $comment->comment_approved ) + return; + + // use the original version stored in comment_meta if available + $as_submitted = get_comment_meta( $comment_id, 'akismet_as_submitted', true); + + if ( $as_submitted && is_array( $as_submitted ) && isset( $as_submitted['comment_content'] ) ) + $comment = (object) array_merge( (array)$comment, $as_submitted ); + + $comment->blog = get_bloginfo('url'); + $comment->blog_lang = get_locale(); + $comment->blog_charset = get_option('blog_charset'); + $comment->permalink = get_permalink($comment->comment_post_ID); + + if ( is_object($current_user) ) + $comment->reporter = $current_user->user_login; + + if ( is_object($current_site) ) + $comment->site_domain = $current_site->domain; + + $comment->user_role = ''; + if ( isset( $comment->user_ID ) ) + $comment->user_role = Akismet::get_user_roles( $comment->user_ID ); + + if ( self::is_test_mode() ) + $comment->is_test = 'true'; + + $post = get_post( $comment->comment_post_ID ); + $comment->comment_post_modified_gmt = $post->post_modified_gmt; + + $response = Akismet::http_post( Akismet::build_query( $comment ), 'submit-spam' ); + if ( $comment->reporter ) { + self::update_comment_history( $comment_id, sprintf( __('%s reported this comment as spam', 'akismet'), $comment->reporter ), 'report-spam' ); + update_comment_meta( $comment_id, 'akismet_user_result', 'true' ); + update_comment_meta( $comment_id, 'akismet_user', $comment->reporter ); + } + + do_action('akismet_submit_spam_comment', $comment_id, $response[1]); + } + + public static function submit_nonspam_comment( $comment_id ) { + global $wpdb, $current_user, $current_site; + + $comment_id = (int) $comment_id; + + $comment = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$wpdb->comments} WHERE comment_ID = %d", $comment_id ) ); + if ( !$comment ) // it was deleted + return; + + // use the original version stored in comment_meta if available + $as_submitted = get_comment_meta( $comment_id, 'akismet_as_submitted', true); + + if ( $as_submitted && is_array($as_submitted) && isset($as_submitted['comment_content']) ) + $comment = (object) array_merge( (array)$comment, $as_submitted ); + + $comment->blog = get_bloginfo('url'); + $comment->blog_lang = get_locale(); + $comment->blog_charset = get_option('blog_charset'); + $comment->permalink = get_permalink( $comment->comment_post_ID ); + $comment->user_role = ''; + + if ( is_object($current_user) ) + $comment->reporter = $current_user->user_login; + + if ( is_object($current_site) ) + $comment->site_domain = $current_site->domain; + + if ( isset( $comment->user_ID ) ) + $comment->user_role = Akismet::get_user_roles($comment->user_ID); + + if ( Akismet::is_test_mode() ) + $comment->is_test = 'true'; + + $post = get_post( $comment->comment_post_ID ); + $comment->comment_post_modified_gmt = $post->post_modified_gmt; + + $response = self::http_post( Akismet::build_query( $comment ), 'submit-ham' ); + if ( $comment->reporter ) { + self::update_comment_history( $comment_id, sprintf( __('%s reported this comment as not spam', 'akismet'), $comment->reporter ), 'report-ham' ); + update_comment_meta( $comment_id, 'akismet_user_result', 'false' ); + update_comment_meta( $comment_id, 'akismet_user', $comment->reporter ); + } + + do_action('akismet_submit_nonspam_comment', $comment_id, $response[1]); + } + + public static function cron_recheck() { + global $wpdb; + + $api_key = self::get_api_key(); + + $status = self::verify_key( $api_key ); + if ( get_option( 'akismet_alert_code' ) || $status == 'invalid' ) { + // since there is currently a problem with the key, reschedule a check for 6 hours hence + wp_schedule_single_event( time() + 21600, 'akismet_schedule_cron_recheck' ); + return false; + } + + delete_option('akismet_available_servers'); + + $comment_errors = $wpdb->get_col( "SELECT comment_id FROM {$wpdb->commentmeta} WHERE meta_key = 'akismet_error' LIMIT 100" ); + + load_plugin_textdomain( 'akismet' ); + + foreach ( (array) $comment_errors as $comment_id ) { + // if the comment no longer exists, or is too old, remove the meta entry from the queue to avoid getting stuck + $comment = get_comment( $comment_id ); + if ( !$comment || strtotime( $comment->comment_date_gmt ) < strtotime( "-15 days" ) ) { + delete_comment_meta( $comment_id, 'akismet_error' ); + delete_comment_meta( $comment_id, 'akismet_delayed_moderation_email' ); + continue; + } + + add_comment_meta( $comment_id, 'akismet_rechecking', true ); + $status = self::check_db_comment( $comment_id, 'retry' ); + + $msg = ''; + if ( $status == 'true' ) { + $msg = __( 'Akismet caught this comment as spam during an automatic retry.' , 'akismet'); + } elseif ( $status == 'false' ) { + $msg = __( 'Akismet cleared this comment during an automatic retry.' , 'akismet'); + } + + // If we got back a legit response then update the comment history + // other wise just bail now and try again later. No point in + // re-trying all the comments once we hit one failure. + if ( !empty( $msg ) ) { + delete_comment_meta( $comment_id, 'akismet_error' ); + self::update_comment_history( $comment_id, $msg, 'cron-retry' ); + update_comment_meta( $comment_id, 'akismet_result', $status ); + // make sure the comment status is still pending. if it isn't, that means the user has already moved it elsewhere. + $comment = get_comment( $comment_id ); + if ( $comment && 'unapproved' == wp_get_comment_status( $comment_id ) ) { + if ( $status == 'true' ) { + wp_spam_comment( $comment_id ); + } elseif ( $status == 'false' ) { + // comment is good, but it's still in the pending queue. depending on the moderation settings + // we may need to change it to approved. + if ( check_comment($comment->comment_author, $comment->comment_author_email, $comment->comment_author_url, $comment->comment_content, $comment->comment_author_IP, $comment->comment_agent, $comment->comment_type) ) + wp_set_comment_status( $comment_id, 1 ); + else if ( get_comment_meta( $comment_id, 'akismet_delayed_moderation_email', true ) ) + wp_notify_moderator( $comment_id ); + } + } + + delete_comment_meta( $comment_id, 'akismet_delayed_moderation_email' ); + } else { + // If this comment has been pending moderation for longer than MAX_DELAY_BEFORE_MODERATION_EMAIL, + // send a moderation email now. + if ( ( intval( gmdate( 'U' ) ) - strtotime( $comment->comment_date_gmt ) ) < self::MAX_DELAY_BEFORE_MODERATION_EMAIL ) { + delete_comment_meta( $comment_id, 'akismet_delayed_moderation_email' ); + wp_notify_moderator( $comment_id ); + } + + delete_comment_meta( $comment_id, 'akismet_rechecking' ); + wp_schedule_single_event( time() + 1200, 'akismet_schedule_cron_recheck' ); + return; + } + delete_comment_meta( $comment_id, 'akismet_rechecking' ); + } + + $remaining = $wpdb->get_var( "SELECT COUNT(*) FROM {$wpdb->commentmeta} WHERE meta_key = 'akismet_error'" ); + if ( $remaining && !wp_next_scheduled('akismet_schedule_cron_recheck') ) { + wp_schedule_single_event( time() + 1200, 'akismet_schedule_cron_recheck' ); + } + } + + public static function fix_scheduled_recheck() { + $future_check = wp_next_scheduled( 'akismet_schedule_cron_recheck' ); + if ( !$future_check ) { + return; + } + + if ( get_option( 'akismet_alert_code' ) > 0 ) { + return; + } + + $check_range = time() + 1200; + if ( $future_check > $check_range ) { + wp_clear_scheduled_hook( 'akismet_schedule_cron_recheck' ); + wp_schedule_single_event( time() + 300, 'akismet_schedule_cron_recheck' ); + } + } + + public static function add_comment_nonce( $post_id ) { + echo '

'; + wp_nonce_field( 'akismet_comment_nonce_' . $post_id, 'akismet_comment_nonce', FALSE ); + echo '

'; + } + + public static function is_test_mode() { + return defined('AKISMET_TEST_MODE') && AKISMET_TEST_MODE; + } + + public static function allow_discard() { + if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) + return false; + if ( is_user_logged_in() ) + return false; + + return ( get_option( 'akismet_strictness' ) === '1' ); + } + + public static function get_ip_address() { + return isset( $_SERVER['REMOTE_ADDR'] ) ? $_SERVER['REMOTE_ADDR'] : null; + } + + /** + * Do these two comments, without checking the comment_ID, "match"? + * + * @param mixed $comment1 A comment object or array. + * @param mixed $comment2 A comment object or array. + * @return bool Whether the two comments should be treated as the same comment. + */ + private static function comments_match( $comment1, $comment2 ) { + $comment1 = (array) $comment1; + $comment2 = (array) $comment2; + + return ( + isset( $comment1['comment_post_ID'], $comment2['comment_post_ID'] ) + && intval( $comment1['comment_post_ID'] ) == intval( $comment2['comment_post_ID'] ) + && $comment1['comment_author'] == $comment2['comment_author'] + && $comment1['comment_author_email'] == $comment2['comment_author_email'] + ); + } + + // Does the supplied comment match the details of the one most recently stored in self::$last_comment? + public static function matches_last_comment( $comment ) { + if ( is_object( $comment ) ) + $comment = (array) $comment; + + return self::comments_match( self::$last_comment, $comment ); + } + + private static function get_user_agent() { + return isset( $_SERVER['HTTP_USER_AGENT'] ) ? $_SERVER['HTTP_USER_AGENT'] : null; + } + + private static function get_referer() { + return isset( $_SERVER['HTTP_REFERER'] ) ? $_SERVER['HTTP_REFERER'] : null; + } + + // return a comma-separated list of role names for the given user + public static function get_user_roles( $user_id ) { + $roles = false; + + if ( !class_exists('WP_User') ) + return false; + + if ( $user_id > 0 ) { + $comment_user = new WP_User( $user_id ); + if ( isset( $comment_user->roles ) ) + $roles = join( ',', $comment_user->roles ); + } + + if ( is_multisite() && is_super_admin( $user_id ) ) { + if ( empty( $roles ) ) { + $roles = 'super_admin'; + } else { + $comment_user->roles[] = 'super_admin'; + $roles = join( ',', $comment_user->roles ); + } + } + + return $roles; + } + + // filter handler used to return a spam result to pre_comment_approved + public static function last_comment_status( $approved, $comment ) { + // Only do this if it's the correct comment + if ( is_null(self::$last_comment_result) || ! self::matches_last_comment( $comment ) ) { + self::log( "comment_is_spam mismatched comment, returning unaltered $approved" ); + return $approved; + } + + // bump the counter here instead of when the filter is added to reduce the possibility of overcounting + if ( $incr = apply_filters('akismet_spam_count_incr', 1) ) + update_option( 'akismet_spam_count', get_option('akismet_spam_count') + $incr ); + + return self::$last_comment_result; + } + + /** + * If Akismet is temporarily unreachable, we don't want to "spam" the blogger with + * moderation emails for comments that will be automatically cleared or spammed on + * the next retry. + * + * For comments that will be rechecked later, empty the list of email addresses that + * the moderation email would be sent to. + * + * @param array $emails An array of email addresses that the moderation email will be sent to. + * @param int $comment_id The ID of the relevant comment. + * @return array An array of email addresses that the moderation email will be sent to. + */ + public static function disable_moderation_emails_if_unreachable( $emails, $comment_id ) { + if ( ! empty( self::$prevent_moderation_email_for_these_comments ) && ! empty( $emails ) ) { + $comment = get_comment( $comment_id ); + + foreach ( self::$prevent_moderation_email_for_these_comments as $possible_match ) { + if ( self::comments_match( $possible_match, $comment ) ) { + update_comment_meta( $comment_id, 'akismet_delayed_moderation_email', true ); + return array(); + } + } + } + + return $emails; + } + + public static function _cmp_time( $a, $b ) { + return $a['time'] > $b['time'] ? -1 : 1; + } + + public static function _get_microtime() { + $mtime = explode( ' ', microtime() ); + return $mtime[1] + $mtime[0]; + } + + /** + * Make a POST request to the Akismet API. + * + * @param string $request The body of the request. + * @param string $path The path for the request. + * @param string $ip The specific IP address to hit. + * @return array A two-member array consisting of the headers and the response body, both empty in the case of a failure. + */ + public static function http_post( $request, $path, $ip=null ) { + + $akismet_ua = sprintf( 'WordPress/%s | Akismet/%s', $GLOBALS['wp_version'], constant( 'AKISMET_VERSION' ) ); + $akismet_ua = apply_filters( 'akismet_ua', $akismet_ua ); + + $content_length = strlen( $request ); + + $api_key = self::get_api_key(); + $host = self::API_HOST; + + if ( !empty( $api_key ) ) + $host = $api_key.'.'.$host; + + $http_host = $host; + // use a specific IP if provided + // needed by Akismet_Admin::check_server_connectivity() + if ( $ip && long2ip( ip2long( $ip ) ) ) { + $http_host = $ip; + } + + $http_args = array( + 'body' => $request, + 'headers' => array( + 'Content-Type' => 'application/x-www-form-urlencoded; charset=' . get_option( 'blog_charset' ), + 'Host' => $host, + 'User-Agent' => $akismet_ua, + ), + 'httpversion' => '1.0', + 'timeout' => 15 + ); + + $akismet_url = "http://{$http_host}/1.1/{$path}"; + $response = wp_remote_post( $akismet_url, $http_args ); + Akismet::log( compact( 'akismet_url', 'http_args', 'response' ) ); + if ( is_wp_error( $response ) ) + return array( '', '' ); + + return array( $response['headers'], $response['body'] ); + } + + // given a response from an API call like check_key_status(), update the alert code options if an alert is present. + private static function update_alert( $response ) { + $code = $msg = null; + if ( isset( $response[0]['x-akismet-alert-code'] ) ) { + $code = $response[0]['x-akismet-alert-code']; + $msg = $response[0]['x-akismet-alert-msg']; + } + + // only call update_option() if the value has changed + if ( $code != get_option( 'akismet_alert_code' ) ) { + if ( ! $code ) { + delete_option( 'akismet_alert_code' ); + delete_option( 'akismet_alert_msg' ); + } + else { + update_option( 'akismet_alert_code', $code ); + update_option( 'akismet_alert_msg', $msg ); + } + } + } + + public static function load_form_js() { + // WP < 3.3 can't enqueue a script this late in the game and still have it appear in the footer. + // Once we drop support for everything pre-3.3, this can change back to a single enqueue call. + wp_register_script( 'akismet-form', AKISMET__PLUGIN_URL . '_inc/form.js', array(), AKISMET_VERSION, true ); + add_action( 'wp_footer', array( 'Akismet', 'print_form_js' ) ); + add_action( 'admin_footer', array( 'Akismet', 'print_form_js' ) ); + } + + public static function print_form_js() { + wp_print_scripts( 'akismet-form' ); + } + + public static function inject_ak_js( $fields ) { + echo '

'; + echo ''; + echo '

'; + } + + private static function bail_on_activation( $message, $deactivate = true ) { +?> + + + + + + +

+ + + $plugin ) { + if ( $plugin === $akismet ) { + $plugins[$i] = false; + $update = true; + } + } + + if ( $update ) { + update_option( 'active_plugins', array_filter( $plugins ) ); + } + } + exit; + } + + public static function view( $name, array $args = array() ) { + $args = apply_filters( 'akismet_view_arguments', $args, $name ); + + foreach ( $args AS $key => $val ) { + $$key = $val; + } + + load_plugin_textdomain( 'akismet' ); + + $file = AKISMET__PLUGIN_DIR . 'views/'. $name . '.php'; + + include( $file ); + } + + /** + * Attached to activate_{ plugin_basename( __FILES__ ) } by register_activation_hook() + * @static + */ + public static function plugin_activation() { + if ( version_compare( $GLOBALS['wp_version'], AKISMET__MINIMUM_WP_VERSION, '<' ) ) { + load_plugin_textdomain( 'akismet' ); + + $message = ''.sprintf(esc_html__( 'Akismet %s requires WordPress %s or higher.' , 'akismet'), AKISMET_VERSION, AKISMET__MINIMUM_WP_VERSION ).' '.sprintf(__('Please upgrade WordPress to a current version, or downgrade to version 2.4 of the Akismet plugin.', 'akismet'), 'https://codex.wordpress.org/Upgrading_WordPress', 'http://wordpress.org/extend/plugins/akismet/download/'); + + Akismet::bail_on_activation( $message ); + } + } + + /** + * Removes all connection options + * @static + */ + public static function plugin_deactivation( ) { + //tidy up + } + + /** + * Essentially a copy of WP's build_query but one that doesn't expect pre-urlencoded values. + * + * @param array $args An array of key => value pairs + * @return string A string ready for use as a URL query string. + */ + public static function build_query( $args ) { + return _http_build_query( $args, '', '&' ); + } + + public static function log( $akismet_debug ) { + if ( defined( 'WP_DEBUG_LOG' ) && WP_DEBUG_LOG ) + error_log( print_r( compact( 'akismet_debug' ), 1 ) ); //send message to debug.log when in debug mode + } +} \ No newline at end of file diff --git a/wp-content/plugins/akismet/index.php b/wp-content/plugins/akismet/index.php new file mode 100644 index 0000000..cf879a5 --- /dev/null +++ b/wp-content/plugins/akismet/index.php @@ -0,0 +1,2 @@ + + +

+ +
+ + spam > 0 ) : ?> + +
+ + + + + + +
    +
  • +

    + spam );?> + +
  • +
  • +

    + spam );?> + +
  • +
  • +

    + accuracy; ?>% + false_positives , 'akismet') + ), + number_format( $stat_totals['all']->missed_spam ), + number_format( $stat_totals['all']->false_positives ) + ); ?> +
  • +
+
+
+ + + + +
+ +
+
+
+

+

+
+
+ + + + + + + + + + + + + + + + + + + +
+ + +
+

+ +

+
+
+

+

+
+ spam folder older than 15 days is deleted automatically.' , 'akismet'), admin_url( 'edit-comments.php?comment_status=spam' ) );?> +
+
+
+ +
+ +
+ + +
+ + + +
+
+
+
+
+
+
+
+
+
+

+

+
+ + + + + + + + + + + next_billing_date ) : ?> + + + + + + +
+ + account_name; ?> +
+ + status ) : + esc_html_e( 'Cancelled', 'akismet' ); + elseif ( 'suspended' == $akismet_user->status ) : + esc_html_e( 'Suspended', 'akismet' ); + elseif ( 'missing' == $akismet_user->status ) : + esc_html_e( 'Missing', 'akismet' ); + elseif ( 'no-sub' == $akismet_user->status ) : + esc_html_e( 'No Subscription Found', 'akismet' ); + else : + esc_html_e( 'Active', 'akismet' ); + endif; ?> +
+ + next_billing_date ); ?> +
+
+
+
+ ( $akismet_user->account_type == 'free-api-key' && $akismet_user->status == 'active' ? __( 'Upgrade' , 'akismet') : __( 'Change' , 'akismet') ), 'redirect' => 'upgrade' ) ); ?> +
+
+
+
+
+
+
+ + + +
+
\ No newline at end of file diff --git a/wp-content/plugins/akismet/views/get.php b/wp-content/plugins/akismet/views/get.php new file mode 100644 index 0000000..70727f6 --- /dev/null +++ b/wp-content/plugins/akismet/views/get.php @@ -0,0 +1,5 @@ +
+ + + +
\ No newline at end of file diff --git a/wp-content/plugins/akismet/views/notice.php b/wp-content/plugins/akismet/views/notice.php new file mode 100644 index 0000000..8a1411d --- /dev/null +++ b/wp-content/plugins/akismet/views/notice.php @@ -0,0 +1,102 @@ + +
+ +
+
+
A
+
+
+
+
+
+
Almost done - activate your account and say goodbye to comment spam', 'akismet');?>
+
+
+
+ +
+

+

+ +

+ +
+ +

upgrade WordPress to a current version, or downgrade to version 2.4 of the Akismet plugin.', 'akismet'), 'https://codex.wordpress.org/Upgrading_WordPress', 'https://wordpress.org/extend/plugins/akismet/download/');?>

+ +
+

+

+

https://akismet.com/errors/' . $code . '' ); + + ?> +

+
+ +
+

+

gethostbynamel functions. Akismet cannot work correctly until this is fixed. Please contact your web host or firewall administrator and give them this information about Akismet’s system requirements.', 'akismet'), 'https://blog.akismet.com/akismet-hosting-faq/'); ?>

+
+ +
+

+

our guide about firewalls.', 'akismet'), 'https://blog.akismet.com/akismet-hosting-faq/'); ?>

+
+ +
+

+

update your payment details.', 'akismet'), 'https://akismet.com/account/'); ?>

+
+ +
+

+

Akismet account page to reactivate your subscription.', 'akismet'), 'https://akismet.com/account/'); ?>

+
+ +
+

+

Akismet support for assistance.', 'akismet'), 'https://akismet.com/contact/'); ?>

+
+ +
+

+

contributing a token amount.', 'akismet'), 'https://akismet.com/account/upgrade/'); ?>

+
+ +
+

+

Akismet support for assistance.', 'akismet'), 'https://akismet.com/contact/'); ?>

+
+ +
+

+

sign into your account and choose one. Please contact our support team with any questions.', 'akismet'), 'https://akismet.com/account/upgrade/', 'https://akismet.com/contact/' ); ?>

+
+ +
+

+
+ +
+

+
+ +
+

+
+ +
+ +

+

upgrade to an Enterprise subscription. If you have any questions, please get in touch with our support team', 'akismet'), 'https://akismet.com/account/upgrade/', 'https://akismet.com/contact/'); ?>

+ +

+

upgrade to an Enterprise subscription, which covers an unlimited number of sites. Please contact our support team with any questions.', 'akismet'), 'https://akismet.com/account/upgrade/', 'https://akismet.com/contact/'); ?>

+ +
+ \ No newline at end of file diff --git a/wp-content/plugins/akismet/views/start.php b/wp-content/plugins/akismet/views/start.php new file mode 100644 index 0000000..692b8af --- /dev/null +++ b/wp-content/plugins/akismet/views/start.php @@ -0,0 +1,95 @@ +
status, array( 'active', 'active-dunning', 'no-sub', 'missing', 'cancelled', 'suspended' ) ) ) : + if ( $akismet_user->status == 'missing' ) :?> +

+
+
+ + user_email ); ?> +
+
+ + + + +
+
+status == 'cancelled' ) :?> +

+
+
+ + user_email ); ?> +
+
+ + + + +
+
+status == 'suspended' ) : ?> +

+
+ +

user_email ); ?>

+

+ +
+ +

+
+
+ + user_email ); ?> +
+
+ + + + +
+
+ +
+
+ +

+
+ __( 'Register a different email address' , 'akismet'), 'classes' => array( 'right', 'button', 'button-secondary' ) ) ); ?> +
+
+
+ +

+
+
+ + + + +
+
+ +

+
+
+ +

+
+ __( 'Get your API key' , 'akismet'), 'classes' => array( 'right', 'button', 'button-primary' ) ) ); ?> +
+
+
+ +

+
+
+ + + + +
+
+
\ No newline at end of file diff --git a/wp-content/plugins/akismet/views/stats.php b/wp-content/plugins/akismet/views/stats.php new file mode 100644 index 0000000..1ca7661 --- /dev/null +++ b/wp-content/plugins/akismet/views/stats.php @@ -0,0 +1,4 @@ +
+

+ +
\ No newline at end of file diff --git a/wp-content/plugins/akismet/views/strict.php b/wp-content/plugins/akismet/views/strict.php new file mode 100644 index 0000000..3cf197c --- /dev/null +++ b/wp-content/plugins/akismet/views/strict.php @@ -0,0 +1,7 @@ + + +
+

+

+
+ \ No newline at end of file diff --git a/wp-content/plugins/akismet/wrapper.php b/wp-content/plugins/akismet/wrapper.php new file mode 100644 index 0000000..12641c7 --- /dev/null +++ b/wp-content/plugins/akismet/wrapper.php @@ -0,0 +1,293 @@ + $title, + 'content' => $elm_id, + 'options' => $options ); + + if ( is_callable( $callback ) ) + add_action( 'wpcf7_admin_footer', $callback ); + + return true; +} + +function wpcf7_tag_generators() { + global $wpcf7_tag_generators; + + $taggenerators = array(); + + foreach ( (array) $wpcf7_tag_generators as $name => $tg ) { + $taggenerators[$name] = array_merge( + (array) $tg['options'], + array( 'title' => $tg['title'], 'content' => $tg['content'] ) ); + } + + return $taggenerators; +} + +function wpcf7_save_contact_form( $post_id = -1 ) { + if ( -1 != $post_id ) { + $contact_form = wpcf7_contact_form( $post_id ); + } + + if ( empty( $contact_form ) ) { + $contact_form = WPCF7_ContactForm::get_template(); + } + + if ( isset( $_POST['wpcf7-title'] ) ) { + $contact_form->set_title( $_POST['wpcf7-title'] ); + } + + if ( isset( $_POST['wpcf7-locale'] ) ) { + $locale = trim( $_POST['wpcf7-locale'] ); + + if ( wpcf7_is_valid_locale( $locale ) ) { + $contact_form->locale = $locale; + } + } + + $properties = $contact_form->get_properties(); + + if ( isset( $_POST['wpcf7-form'] ) ) { + $properties['form'] = trim( $_POST['wpcf7-form'] ); + } + + $mail = $properties['mail']; + + if ( isset( $_POST['wpcf7-mail-subject'] ) ) { + $mail['subject'] = trim( $_POST['wpcf7-mail-subject'] ); + } + + if ( isset( $_POST['wpcf7-mail-sender'] ) ) { + $mail['sender'] = trim( $_POST['wpcf7-mail-sender'] ); + } + + if ( isset( $_POST['wpcf7-mail-body'] ) ) { + $mail['body'] = trim( $_POST['wpcf7-mail-body'] ); + } + + if ( isset( $_POST['wpcf7-mail-recipient'] ) ) { + $mail['recipient'] = trim( $_POST['wpcf7-mail-recipient'] ); + } + + if ( isset( $_POST['wpcf7-mail-additional-headers'] ) ) { + $mail['additional_headers'] = trim( $_POST['wpcf7-mail-additional-headers'] ); + } + + if ( isset( $_POST['wpcf7-mail-attachments'] ) ) { + $mail['attachments'] = trim( $_POST['wpcf7-mail-attachments'] ); + } + + $mail['use_html'] = ! empty( $_POST['wpcf7-mail-use-html'] ); + $mail['exclude_blank'] = ! empty( $_POST['wpcf7-mail-exclude-blank'] ); + + $properties['mail'] = $mail; + + $mail_2 = $properties['mail_2']; + + $mail_2['active'] = ! empty( $_POST['wpcf7-mail-2-active'] ); + + if ( isset( $_POST['wpcf7-mail-2-subject'] ) ) { + $mail_2['subject'] = trim( $_POST['wpcf7-mail-2-subject'] ); + } + + if ( isset( $_POST['wpcf7-mail-2-sender'] ) ) { + $mail_2['sender'] = trim( $_POST['wpcf7-mail-2-sender'] ); + } + + if ( isset( $_POST['wpcf7-mail-2-body'] ) ) { + $mail_2['body'] = trim( $_POST['wpcf7-mail-2-body'] ); + } + + if ( isset( $_POST['wpcf7-mail-2-recipient'] ) ) { + $mail_2['recipient'] = trim( $_POST['wpcf7-mail-2-recipient'] ); + } + + if ( isset( $_POST['wpcf7-mail-2-additional-headers'] ) ) { + $mail_2['additional_headers'] = trim( + $_POST['wpcf7-mail-2-additional-headers'] ); + } + + if ( isset( $_POST['wpcf7-mail-2-attachments'] ) ) { + $mail_2['attachments'] = trim( $_POST['wpcf7-mail-2-attachments'] ); + } + + $mail_2['use_html'] = ! empty( $_POST['wpcf7-mail-2-use-html'] ); + $mail_2['exclude_blank'] = ! empty( $_POST['wpcf7-mail-2-exclude-blank'] ); + + $properties['mail_2'] = $mail_2; + + foreach ( wpcf7_messages() as $key => $arr ) { + $field_name = 'wpcf7-message-' . strtr( $key, '_', '-' ); + + if ( isset( $_POST[$field_name] ) ) { + $properties['messages'][$key] = trim( $_POST[$field_name] ); + } + } + + if ( isset( $_POST['wpcf7-additional-settings'] ) ) { + $properties['additional_settings'] = trim( + $_POST['wpcf7-additional-settings'] ); + } + + $contact_form->set_properties( $properties ); + + do_action( 'wpcf7_save_contact_form', $contact_form ); + + return $contact_form->save(); +} + +?> \ No newline at end of file diff --git a/wp-content/plugins/contact-form-7/admin/admin.php b/wp-content/plugins/contact-form-7/admin/admin.php new file mode 100644 index 0000000..7a75dd3 --- /dev/null +++ b/wp-content/plugins/contact-form-7/admin/admin.php @@ -0,0 +1,453 @@ + ( -1 == $_POST['post_ID'] ) ? 'created' : 'saved', + 'post' => $id ); + + $redirect_to = add_query_arg( $query, menu_page_url( 'wpcf7', false ) ); + wp_safe_redirect( $redirect_to ); + exit(); + } + + if ( 'copy' == $action ) { + $id = empty( $_POST['post_ID'] ) + ? absint( $_REQUEST['post'] ) + : absint( $_POST['post_ID'] ); + + check_admin_referer( 'wpcf7-copy-contact-form_' . $id ); + + if ( ! current_user_can( 'wpcf7_edit_contact_form', $id ) ) + wp_die( __( 'You are not allowed to edit this item.', 'contact-form-7' ) ); + + $query = array(); + + if ( $contact_form = wpcf7_contact_form( $id ) ) { + $new_contact_form = $contact_form->copy(); + $new_contact_form->save(); + + $query['post'] = $new_contact_form->id(); + $query['message'] = 'created'; + } + + $redirect_to = add_query_arg( $query, menu_page_url( 'wpcf7', false ) ); + + wp_safe_redirect( $redirect_to ); + exit(); + } + + if ( 'delete' == $action ) { + if ( ! empty( $_POST['post_ID'] ) ) + check_admin_referer( 'wpcf7-delete-contact-form_' . $_POST['post_ID'] ); + elseif ( ! is_array( $_REQUEST['post'] ) ) + check_admin_referer( 'wpcf7-delete-contact-form_' . $_REQUEST['post'] ); + else + check_admin_referer( 'bulk-posts' ); + + $posts = empty( $_POST['post_ID'] ) + ? (array) $_REQUEST['post'] + : (array) $_POST['post_ID']; + + $deleted = 0; + + foreach ( $posts as $post ) { + $post = WPCF7_ContactForm::get_instance( $post ); + + if ( empty( $post ) ) + continue; + + if ( ! current_user_can( 'wpcf7_delete_contact_form', $post->id() ) ) + wp_die( __( 'You are not allowed to delete this item.', 'contact-form-7' ) ); + + if ( ! $post->delete() ) + wp_die( __( 'Error in deleting.', 'contact-form-7' ) ); + + $deleted += 1; + } + + $query = array(); + + if ( ! empty( $deleted ) ) + $query['message'] = 'deleted'; + + $redirect_to = add_query_arg( $query, menu_page_url( 'wpcf7', false ) ); + + wp_safe_redirect( $redirect_to ); + exit(); + } + + $_GET['post'] = isset( $_GET['post'] ) ? $_GET['post'] : ''; + + $post = null; + + if ( 'wpcf7-new' == $plugin_page && isset( $_GET['locale'] ) ) { + $post = WPCF7_ContactForm::get_template( array( + 'locale' => $_GET['locale'] ) ); + } elseif ( ! empty( $_GET['post'] ) ) { + $post = WPCF7_ContactForm::get_instance( $_GET['post'] ); + } + + if ( $post && current_user_can( 'wpcf7_edit_contact_form', $post->id() ) ) { + wpcf7_add_meta_boxes( $post->id() ); + + } else { + $current_screen = get_current_screen(); + + if ( ! class_exists( 'WPCF7_Contact_Form_List_Table' ) ) + require_once WPCF7_PLUGIN_DIR . '/admin/includes/class-contact-forms-list-table.php'; + + add_filter( 'manage_' . $current_screen->id . '_columns', + array( 'WPCF7_Contact_Form_List_Table', 'define_columns' ) ); + + add_screen_option( 'per_page', array( + 'label' => __( 'Contact Forms', 'contact-form-7' ), + 'default' => 20, + 'option' => 'cfseven_contact_forms_per_page' ) ); + } +} + +add_action( 'admin_enqueue_scripts', 'wpcf7_admin_enqueue_scripts' ); + +function wpcf7_admin_enqueue_scripts( $hook_suffix ) { + if ( false === strpos( $hook_suffix, 'wpcf7' ) ) + return; + + wp_enqueue_style( 'contact-form-7-admin', + wpcf7_plugin_url( 'admin/css/styles.css' ), + array(), WPCF7_VERSION, 'all' ); + + if ( wpcf7_is_rtl() ) { + wp_enqueue_style( 'contact-form-7-admin-rtl', + wpcf7_plugin_url( 'admin/css/styles-rtl.css' ), + array(), WPCF7_VERSION, 'all' ); + } + + wp_enqueue_script( 'wpcf7-admin-taggenerator', + wpcf7_plugin_url( 'admin/js/taggenerator.js' ), + array( 'jquery' ), WPCF7_VERSION, true ); + + wp_enqueue_script( 'wpcf7-admin', + wpcf7_plugin_url( 'admin/js/scripts.js' ), + array( 'jquery', 'postbox', 'wpcf7-admin-taggenerator' ), + WPCF7_VERSION, true ); + + $current_screen = get_current_screen(); + + wp_localize_script( 'wpcf7-admin', '_wpcf7', array( + 'screenId' => $current_screen->id, + 'generateTag' => __( 'Generate Tag', 'contact-form-7' ), + 'pluginUrl' => wpcf7_plugin_url(), + 'tagGenerators' => wpcf7_tag_generators() ) ); +} + +function wpcf7_admin_management_page() { + if ( $post = wpcf7_get_current_contact_form() ) { + $post_id = $post->initial() ? -1 : $post->id(); + + require_once WPCF7_PLUGIN_DIR . '/admin/includes/meta-boxes.php'; + require_once WPCF7_PLUGIN_DIR . '/admin/edit-contact-form.php'; + return; + } + + $list_table = new WPCF7_Contact_Form_List_Table(); + $list_table->prepare_items(); + +?> +
+ +

' . esc_html( __( 'Add New', 'contact-form-7' ) ) . ''; + + if ( ! empty( $_REQUEST['s'] ) ) { + echo sprintf( '' + . __( 'Search results for “%s”', 'contact-form-7' ) + . '', esc_html( $_REQUEST['s'] ) ); + } +?>

+ + + +
+ + search_box( __( 'Search Contact Forms', 'contact-form-7' ), 'wpcf7-contact' ); ?> + display(); ?> +
+ +
+ +
+ +

+ + + +

+

+ + +

+
+ + + +
+
+ 'wpcf7-mail-2', + 'name' => 'mail_2', + 'use' => __( 'Use mail (2)', 'contact-form-7' ) ) ); + + add_meta_box( 'messagesdiv', __( 'Messages', 'contact-form-7' ), + 'wpcf7_messages_meta_box', null, 'messages', 'core' ); + + add_meta_box( 'additionalsettingsdiv', __( 'Additional Settings', 'contact-form-7' ), + 'wpcf7_additional_settings_meta_box', null, 'additional_settings', 'core' ); + + do_action( 'wpcf7_add_meta_boxes', $post_id ); +} + +/* Misc */ + +add_action( 'wpcf7_admin_notices', 'wpcf7_admin_updated_message' ); + +function wpcf7_admin_updated_message() { + if ( empty( $_REQUEST['message'] ) ) + return; + + if ( 'created' == $_REQUEST['message'] ) + $updated_message = esc_html( __( 'Contact form created.', 'contact-form-7' ) ); + elseif ( 'saved' == $_REQUEST['message'] ) + $updated_message = esc_html( __( 'Contact form saved.', 'contact-form-7' ) ); + elseif ( 'deleted' == $_REQUEST['message'] ) + $updated_message = esc_html( __( 'Contact form deleted.', 'contact-form-7' ) ); + + if ( empty( $updated_message ) ) + return; + +?> +

+' + . esc_html( __( 'Settings', 'contact-form-7' ) ) . ''; + + array_unshift( $links, $settings_link ); + + return $links; +} + +add_action( 'wpcf7_admin_notices', 'wpcf7_cf7com_links', 9 ); + +function wpcf7_cf7com_links() { + $links = ''; + + echo apply_filters( 'wpcf7_cf7com_links', $links ); +} + +add_action( 'admin_notices', 'wpcf7_old_wp_version_error', 9 ); + +function wpcf7_old_wp_version_error() { + global $plugin_page; + + if ( 'wpcf7' != substr( $plugin_page, 0, 5 ) ) { + return; + } + + $wp_version = get_bloginfo( 'version' ); + + if ( ! version_compare( $wp_version, WPCF7_REQUIRED_WP_VERSION, '<' ) ) + return; + +?> +
+

Contact Form 7 %1$s requires WordPress %2$s or higher. Please update WordPress first.', 'contact-form-7' ), WPCF7_VERSION, WPCF7_REQUIRED_WP_VERSION, admin_url( 'update-core.php' ) ); ?>

+
+ +
+ + + +
+
+
+

+

+

+
+ +
+

+
    +
  • +
  • +
  • +
  • +
+
+ +
+

+
    +
  • +
  • +
  • +
  • +
+
+
+
+
+ \ No newline at end of file diff --git a/wp-content/plugins/contact-form-7/admin/css/styles-rtl.css b/wp-content/plugins/contact-form-7/admin/css/styles-rtl.css new file mode 100644 index 0000000..6a62300 --- /dev/null +++ b/wp-content/plugins/contact-form-7/admin/css/styles-rtl.css @@ -0,0 +1,21 @@ +div.save-contact-form { + direction: rtl; +} + +div.actions-link { + right: auto; + left: 0; +} + +div.tg-pane table caption { + text-align: right; +} + +div.tg-dropdown { + left: auto; + right: 0; +} + +div.wrap div.cf7com-links { + text-align: left; +} \ No newline at end of file diff --git a/wp-content/plugins/contact-form-7/admin/css/styles.css b/wp-content/plugins/contact-form-7/admin/css/styles.css new file mode 100644 index 0000000..b1aaecd --- /dev/null +++ b/wp-content/plugins/contact-form-7/admin/css/styles.css @@ -0,0 +1,263 @@ +#icon-wpcf7 { + background: transparent url(../images/screen-icon.png) no-repeat 2px 1px; +} + +div.wrap div.cf7com-links { + text-align: right; + font-size: .9em; + margin: -20px 1em 1em 0; +} + +div.wrap div.cf7com-links a { + text-decoration: none; + font-weight: bold; +} + +#titlediv { + margin-bottom: 20px; + position: relative; + border: 1px solid #c7c7c7; + padding: 6px; + background-color: #fff; +} + +div.save-contact-form { + padding: 1.4em 0 0 0; + text-align: right; +} + +div.actions-link { + position: absolute; + top: 0; + right: 0; + margin: 0; + padding: 6px; +} + +div.actions-link input { + padding: 0; + margin: 0; + border: none; + font-size: 11px; + cursor: pointer; + background: inherit; +} + +div.actions-link input.copy { + color: #006505; +} + +div.actions-link input.delete { + color: #bc0b0b; +} + +input#wpcf7-title { + color: #5f5f5f; + border: none; + font-weight: bold; + font-size: 1.5em; + cursor: pointer; + background-color: transparent; + box-shadow: none; + width: 80%; +} + +input#wpcf7-title.focus { + color: #3f3f3f; + border: 1px solid #aaa; + cursor: text; + background-color: transparent; + box-shadow: inset 0 1px 2px rgba(0,0,0,0.07); +} + +input#wpcf7-title.mouseover { + background-color: #ffffdd; +} + +p.tagcode { + color: #333; + margin: 2ex 0 1ex 0; +} + +input#contact-form-anchor-text, input#contact-form-anchor-text-old { + width: 100%; +} + +.postbox .half, .postbox .half-left, .postbox .half-right { + float: left; + width: 50%; +} + +.postbox .half-right > * { + margin-left: 10px; +} + +@media only screen and (max-width: 768px) { + .postbox .half, .postbox .half-left, .postbox .half-right { + width: 100%; + } + + .postbox .half-right { + margin-top: 1em; + } + + .postbox .half-right > * { + margin-left: inherit; + } +} + +.postbox .mail-field, .postbox .message-field { + margin-top: 6px; + margin-bottom: 8px; +} + +.postbox .mail-field label, .postbox .message-field label { + line-height: 1.4em; +} + +div.pseudo-hr { + border-bottom: 1px solid transparent; + margin: 8px 0; +} + +input, textarea { + border: 1px solid #dfdfdf; +} + +input.wide { + width: 100%; +} + +textarea { + width: 100%; +} + +label.disabled { + color: #777; +} + +#messagesdiv div.inside { + height: 28em; + overflow: auto; +} + +div.tag-generator { + position: relative; + background: transparent; + padding: 0 0 5px 1px; +} + +div.tg-pane { + border: 1px solid #e1e1e1; + background: #f7f7f7; + margin: 1ex 0 0 0; + padding: 10px; + line-height: 140%; +} + +div.tg-pane table { + width: 100%; + margin: 0 0 0.7em 0; +} + +div.tg-pane table caption { + text-align: left; + padding: 0 0 0.2em 0; + font-weight: bolder; + color: #777; +} + +div.tg-pane table code { + background-color: inherit; +} + +div.tg-pane table td { + vertical-align: top; + width: 50%; + border: none; + padding: 2px 0; +} + +div.tg-pane input.tag, div.tg-pane input.mail-tag { + width: 100%; + font-size: 90%; +} + +div.tg-pane input.mail-tag { + width: 65%; +} + +div.tg-mail-tag { + margin-top: 2.4em; + text-align: right; +} + +div.tg-pane input.tg-name { + border-color: #555; +} + +div.tg-pane input.oneline { + width: 94%; + font-size: smaller; + -moz-box-sizing: border-box; +} + +div.tg-pane textarea { + width: 94%; + height: 100px; + font-size: smaller; +} + +div.tg-pane div.tg-tag { + margin: .4em 0; +} + +div.tg-dropdown { + position: absolute; + top: 26px; + left: 0; + z-index: 10; + border: 1px solid #ddd; +} + +span.tg-closebutton { + color: #777; + font: bold 18px monospace; + padding: 1px 4px; + cursor: pointer; +} + +div.tg-panetitle { + font-weight: bold; + font-size: 1.5em; + margin: 0 0 .5em; + color: #5f5f5f; +} + +.fixed .column-title { + width: 32%; +} + +input.shortcode-in-list-table { + width: 100%; + font-size: 90%; +} + +input[readonly].code { + background: #f3f3f3; + color: #3f3f3f; +} + +/* welcome panel */ +.welcome-panel p.message { + line-height: 1.4em; + margin-right: 25px; +} + +.welcome-panel li { + margin-bottom: 12px; +} + +.welcome-panel-close { + z-index: 2; +} \ No newline at end of file diff --git a/wp-content/plugins/contact-form-7/admin/edit-contact-form.php b/wp-content/plugins/contact-form-7/admin/edit-contact-form.php new file mode 100644 index 0000000..6d1a6d9 --- /dev/null +++ b/wp-content/plugins/contact-form-7/admin/edit-contact-form.php @@ -0,0 +1,117 @@ +
+ +

initial() ) { + echo esc_html( __( 'Add New Contact Form', 'contact-form-7' ) ); + } else { + echo esc_html( __( 'Edit Contact Form', 'contact-form-7' ) ); + + echo ' ' . esc_html( __( 'Add New', 'contact-form-7' ) ) . ''; + } +?>

+ + + +
+ + + +
> + + + + + + +
+ +
+ /> + + initial() ) : ?> +

+
+ + +

+ + + + + +
+ +
+ + + initial() ) : ?> + + +
+ + +
+ +
+ + + +
+ + diff --git a/wp-content/plugins/contact-form-7/admin/images/dropdown.gif b/wp-content/plugins/contact-form-7/admin/images/dropdown.gif new file mode 100644 index 0000000000000000000000000000000000000000..a342dfdf3240db9ef346dc4b7bd1dc6152e1684e GIT binary patch literal 67 zcmZ?wbhEHb6krfwn8*ME|NsBb&(8;via%Kx85o!ubU>mYc?KqtIsGe7zvW*nyrnBM PaccN4{jxy)rl9Mwn%LP*puyzuCjPMwJ95JKF>j+PKsXg_GsnhtD8 zh=^TCB+KZ+w1O@i>_T)@BanhF!iyL+Vms&T{MtEZJ7;Iq>;Dih&-?H^?}zX6eBpgE zG}u$CKdlD<)Vh0}!!XywXhAgaPSf^0Oxh{bg97mO^W~b@aosrU8k@a3GdX+De+L6- za3+9R-8cPH*f8b~KDeF6Iv|7(4UD)7Bq<02RVXNmg6H!LO&2+?R4U1`OcDggapiKE zFY+wIunf!d#VW*b2^}-T9V2H+?-(*rOF(SfEtt}NrEU;s|w4ql}aU_%l$QMw*#Qsc019L z`$qxet-2wzufeA~GdF29GQ(3k#HwpP=Tp5>sTUs~bbFp^79H8|jwMGn{Nu=E4WHV@ z<`Pj1OGKNZ!frxXz@l>r$fB|FiN4r)-$3m7_{6|c6Ou{+s8EME>s@=BuaUFM*eAr; zY2XyDLos!9uJm+8Ui3todx6%dF|QjeX0yfetkJS=SZ+O-Jgk9eC?1L*hC<0?DEZSH ziYJrFcpRuw8!vzFO2-wvIO)u`0SmbDZ3PihhCn+Q-Xj2f-scY3wf=tci0 Zqyhce4|i>ku8hL(3f!(i=T4U|@(=9Ekd*)c literal 0 HcmV?d00001 diff --git a/wp-content/plugins/contact-form-7/admin/includes/class-contact-forms-list-table.php b/wp-content/plugins/contact-form-7/admin/includes/class-contact-forms-list-table.php new file mode 100644 index 0000000..34b532a --- /dev/null +++ b/wp-content/plugins/contact-form-7/admin/includes/class-contact-forms-list-table.php @@ -0,0 +1,173 @@ + '', + 'title' => __( 'Title', 'contact-form-7' ), + 'shortcode' => __( 'Shortcode', 'contact-form-7' ), + 'author' => __( 'Author', 'contact-form-7' ), + 'date' => __( 'Date', 'contact-form-7' ) ); + + return $columns; + } + + function __construct() { + parent::__construct( array( + 'singular' => 'post', + 'plural' => 'posts', + 'ajax' => false ) ); + } + + function prepare_items() { + $current_screen = get_current_screen(); + $per_page = $this->get_items_per_page( 'cfseven_contact_forms_per_page' ); + + $this->_column_headers = $this->get_column_info(); + + $args = array( + 'posts_per_page' => $per_page, + 'orderby' => 'title', + 'order' => 'ASC', + 'offset' => ( $this->get_pagenum() - 1 ) * $per_page ); + + if ( ! empty( $_REQUEST['s'] ) ) + $args['s'] = $_REQUEST['s']; + + if ( ! empty( $_REQUEST['orderby'] ) ) { + if ( 'title' == $_REQUEST['orderby'] ) + $args['orderby'] = 'title'; + elseif ( 'author' == $_REQUEST['orderby'] ) + $args['orderby'] = 'author'; + elseif ( 'date' == $_REQUEST['orderby'] ) + $args['orderby'] = 'date'; + } + + if ( ! empty( $_REQUEST['order'] ) ) { + if ( 'asc' == strtolower( $_REQUEST['order'] ) ) + $args['order'] = 'ASC'; + elseif ( 'desc' == strtolower( $_REQUEST['order'] ) ) + $args['order'] = 'DESC'; + } + + $this->items = WPCF7_ContactForm::find( $args ); + + $total_items = WPCF7_ContactForm::count(); + $total_pages = ceil( $total_items / $per_page ); + + $this->set_pagination_args( array( + 'total_items' => $total_items, + 'total_pages' => $total_pages, + 'per_page' => $per_page ) ); + } + + function get_columns() { + return get_column_headers( get_current_screen() ); + } + + function get_sortable_columns() { + $columns = array( + 'title' => array( 'title', true ), + 'author' => array( 'author', false ), + 'date' => array( 'date', false ) ); + + return $columns; + } + + function get_bulk_actions() { + $actions = array( + 'delete' => __( 'Delete', 'contact-form-7' ) ); + + return $actions; + } + + function column_default( $item, $column_name ) { + return ''; + } + + function column_cb( $item ) { + return sprintf( + '', + $this->_args['singular'], + $item->id() ); + } + + function column_title( $item ) { + $url = admin_url( 'admin.php?page=wpcf7&post=' . absint( $item->id() ) ); + $edit_link = add_query_arg( array( 'action' => 'edit' ), $url ); + + $actions = array( + 'edit' => '' . __( 'Edit', 'contact-form-7' ) . '' ); + + if ( current_user_can( 'wpcf7_edit_contact_form', $item->id() ) ) { + $copy_link = wp_nonce_url( + add_query_arg( array( 'action' => 'copy' ), $url ), + 'wpcf7-copy-contact-form_' . absint( $item->id() ) ); + + $actions = array_merge( $actions, array( + 'copy' => '' . __( 'Copy', 'contact-form-7' ) . '' ) ); + } + + $a = sprintf( '%3$s', + $edit_link, + esc_attr( sprintf( __( 'Edit “%s”', 'contact-form-7' ), + $item->title() ) ), + esc_html( $item->title() ) ); + + return '' . $a . ' ' . $this->row_actions( $actions ); + } + + function column_author( $item ) { + $post = get_post( $item->id() ); + + if ( ! $post ) + return; + + $author = get_userdata( $post->post_author ); + + return esc_html( $author->display_name ); + } + + function column_shortcode( $item ) { + $shortcodes = array( + sprintf( '[contact-form-7 id="%1$d" title="%2$s"]', + $item->id(), $item->title() ) ); + + $output = ''; + + foreach ( $shortcodes as $shortcode ) { + $output .= "\n" . ''; + } + + return trim( $output ); + } + + function column_date( $item ) { + $post = get_post( $item->id() ); + + if ( ! $post ) + return; + + $t_time = mysql2date( __( 'Y/m/d g:i:s A', 'contact-form-7' ), $post->post_date, true ); + $m_time = $post->post_date; + $time = mysql2date( 'G', $post->post_date ) - get_option( 'gmt_offset' ) * 3600; + + $time_diff = time() - $time; + + if ( $time_diff > 0 && $time_diff < 24*60*60 ) + $h_time = sprintf( __( '%s ago', 'contact-form-7' ), human_time_diff( $time ) ); + else + $h_time = mysql2date( __( 'Y/m/d', 'contact-form-7' ), $m_time ); + + return '' . $h_time . ''; + } +} + +?> \ No newline at end of file diff --git a/wp-content/plugins/contact-form-7/admin/includes/meta-boxes.php b/wp-content/plugins/contact-form-7/admin/includes/meta-boxes.php new file mode 100644 index 0000000..8edbae5 --- /dev/null +++ b/wp-content/plugins/contact-form-7/admin/includes/meta-boxes.php @@ -0,0 +1,113 @@ + +
+ +
+ +
+ 'wpcf7-mail', + 'name' => 'mail', + 'use' => null ) ); + + $id = esc_attr( $args['id'] ); + $mail = $post->prop( $args['name'] ); + + if ( ! empty( $args['use'] ) ) : +?> +
+ /> + +
+
+ +
+ + +
+
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+ +
+ /> + +
+
+ +
+
+
+ +
+ +
+ /> + +
+
+ +
+
+ $arr ) : + $field_name = 'wpcf7-message-' . strtr( $key, '_', '-' ); + +?> +
+
+ +
+ + + \ No newline at end of file diff --git a/wp-content/plugins/contact-form-7/admin/js/scripts.js b/wp-content/plugins/contact-form-7/admin/js/scripts.js new file mode 100644 index 0000000..37239fb --- /dev/null +++ b/wp-content/plugins/contact-form-7/admin/js/scripts.js @@ -0,0 +1,93 @@ +(function($) { + + $(function() { + try { + var welcomePanel = $('#welcome-panel'); + var updateWelcomePanel; + + updateWelcomePanel = function( visible ) { + $.post( ajaxurl, { + action: 'wpcf7-update-welcome-panel', + visible: visible, + welcomepanelnonce: $( '#welcomepanelnonce' ).val() + }); + }; + + $('a.welcome-panel-close', welcomePanel).click(function(event) { + event.preventDefault(); + welcomePanel.addClass('hidden'); + updateWelcomePanel( 0 ); + }); + + $('div.cf7com-links').insertAfter($('div.wrap h2:first')); + + $.extend($.tgPanes, _wpcf7.tagGenerators); + $('#taggenerator').tagGenerator(_wpcf7.generateTag, { + dropdownIconUrl: _wpcf7.pluginUrl + '/admin/images/dropdown.gif', + fadebuttImageUrl: _wpcf7.pluginUrl + '/admin/images/fade-butt.png' }); + + $('input#wpcf7-title:disabled').css({cursor: 'default'}); + + $('input#wpcf7-title').mouseover(function() { + $(this).not('.focus').addClass('mouseover'); + }); + + $('input#wpcf7-title').mouseout(function() { + $(this).removeClass('mouseover'); + }); + + $('input#wpcf7-title').focus(function() { + $(this).addClass('focus').removeClass('mouseover'); + }); + + $('input#wpcf7-title').blur(function() { + $(this).removeClass('focus'); + }); + + $('input#wpcf7-title').change(function() { + updateTag(); + }); + + updateTag(); + + $('.check-if-these-fields-are-active').each(function(index) { + if (! $(this).is(':checked')) + $(this).parent().siblings('.mail-fields').hide(); + + $(this).click(function() { + if ($(this).parent().siblings('.mail-fields').is(':hidden') + && $(this).is(':checked')) { + $(this).parent().siblings('.mail-fields').slideDown('fast'); + } else if ($(this).parent().siblings('.mail-fields').is(':visible') + && $(this).not(':checked')) { + $(this).parent().siblings('.mail-fields').slideUp('fast'); + } + }); + }); + + postboxes.add_postbox_toggles(_wpcf7.screenId); + + } catch (e) { + } + }); + + function updateTag() { + var title = $('input#wpcf7-title').val(); + + if (title) + title = title.replace(/["'\[\]]/g, ''); + + $('input#wpcf7-title').val(title); + var postId = $('input#post_ID').val(); + var tag = '[contact-form-7 id="' + postId + '" title="' + title + '"]'; + $('input#contact-form-anchor-text').val(tag); + + var oldId = $('input#wpcf7-id').val(); + + if (0 != oldId) { + var tagOld = '[contact-form ' + oldId + ' "' + title + '"]'; + $('input#contact-form-anchor-text-old').val(tagOld).parent('p.tagcode').show(); + } + } + +})(jQuery); \ No newline at end of file diff --git a/wp-content/plugins/contact-form-7/admin/js/taggenerator.js b/wp-content/plugins/contact-form-7/admin/js/taggenerator.js new file mode 100644 index 0000000..1750467 --- /dev/null +++ b/wp-content/plugins/contact-form-7/admin/js/taggenerator.js @@ -0,0 +1,266 @@ +(function($) { + + $.fn.tagGenerator = function(title, options) { + var menu = $('
'); + + var selector = $('' + title + ''); + + selector.css({ + border: '1px solid #ddd', + padding: '2px 4px', + background: '#fff url(' + options.fadebuttImageUrl + ') repeat-x 0 0', + '-moz-border-radius': '3px', + '-khtml-border-radius': '3px', + '-webkit-border-radius': '3px', + 'border-radius': '3px' + }); + + selector.mouseover(function() { + $(this).css({ 'border-color': '#bbb' }); + }); + selector.mouseout(function() { + $(this).css({ 'border-color': '#ddd' }); + }); + selector.mousedown(function() { + $(this).css({ background: '#ddd' }); + }); + selector.mouseup(function() { + $(this).css({ + background: '#fff url(' + options.fadebuttImageUrl + ') repeat-x 0 0' + }); + }); + selector.click(function() { + dropdown.slideDown('fast'); + return false; + }); + $('body').click(function() { + dropdown.hide(); + }); + + if (options.dropdownIconUrl) { + var dropdown_icon = $(''); + dropdown_icon.css({ 'vertical-align': 'bottom' }); + selector.append(dropdown_icon); + } + + menu.append(selector); + + var pane = $('
'); + pane.hide(); + menu.append(pane); + + var dropdown = $('
'); + dropdown.hide(); + menu.append(dropdown); + + $.each($.tgPanes, function(i, n) { + var submenu = $('
' + $.tgPanes[i].title + '
'); + submenu.css({ + margin: 0, + padding: '0 4px', + 'line-height': '180%', + background: '#fff' + }); + submenu.mouseover(function() { + $(this).css({ background: '#d4f2f2' }); + }); + submenu.mouseout(function() { + $(this).css({ background: '#fff' }); + }); + submenu.click(function() { + dropdown.hide(); + pane.hide(); + pane.empty(); + $.tgPane(pane, i); + pane.slideDown('fast'); + return false; + }); + dropdown.append(submenu); + }); + + this.append(menu); + }; + + $.tgPane = function(pane, tagType) { + var closeButtonDiv = $('
'); + closeButtonDiv.css({ float: 'right' }); + + var closeButton = $('×'); + closeButton.click(function() { + pane.slideUp('fast').empty(); + }); + closeButtonDiv.append(closeButton); + + pane.append(closeButtonDiv); + + var paneTitle = $('
' + $.tgPanes[tagType].title + '
'); + pane.append(paneTitle); + + pane.append($('#' + $.tgPanes[tagType].content).clone().contents()); + + pane.find(':checkbox.exclusive').change(function() { + if ($(this).is(':checked')) + $(this).siblings(':checkbox.exclusive').removeAttr('checked'); + }); + + if ($.isFunction($.tgPanes[tagType].change)) + $.tgPanes[tagType].change(pane, tagType); + else + $.tgCreateTag(pane, tagType); + + pane.find(':input').change(function() { + if ($.isFunction($.tgPanes[tagType].change)) + $.tgPanes[tagType].change(pane, tagType); + else + $.tgCreateTag(pane, tagType); + }); + } + + $.tgCreateTag = function(pane, tagType) { + pane.find('input[name="name"]').each(function(i) { + var val = $(this).val(); + val = val.replace(/[^0-9a-zA-Z:._-]/g, '').replace(/^[^a-zA-Z]+/, ''); + if ('' == val) { + var rand = Math.floor(Math.random() * 1000); + val = tagType + '-' + rand; + } + $(this).val(val); + }); + + pane.find(':input.numeric').each(function(i) { + var val = $(this).val(); + val = val.replace(/[^0-9.-]/g, ''); + $(this).val(val); + }); + + pane.find(':input.idvalue').each(function(i) { + var val = $(this).val(); + val = val.replace(/[^-0-9a-zA-Z_]/g, ''); + $(this).val(val); + }); + + pane.find(':input.classvalue').each(function(i) { + var val = $(this).val(); + val = $.map(val.split(' '), function(n) { + return n.replace(/[^-0-9a-zA-Z_]/g, ''); + }).join(' '); + val = $.trim(val.replace(/\s+/g, ' ')); + $(this).val(val); + }); + + pane.find(':input.color').each(function(i) { + var val = $(this).val(); + val = val.replace(/[^0-9a-fA-F]/g, ''); + $(this).val(val); + }); + + pane.find(':input.filesize').each(function(i) { + var val = $(this).val(); + val = val.replace(/[^0-9kKmMbB]/g, ''); + $(this).val(val); + }); + + pane.find(':input.filetype').each(function(i) { + var val = $(this).val(); + val = val.replace(/[^0-9a-zA-Z.,|\s]/g, ''); + $(this).val(val); + }); + + pane.find(':input.date').each(function(i) { + var val = $(this).val(); + if (! val.match(/^\d{4}-\d{2}-\d{2}$/)) // 'yyyy-mm-dd' ISO 8601 format + $(this).val(''); + }); + + pane.find(':input[name="values"]').each(function(i) { + var val = $(this).val(); + val = $.trim(val); + $(this).val(val); + }); + + pane.find('input.tag').each(function(i) { + var type = $(this).attr('name'); + + var scope = pane.find('.scope.' + type); + if (! scope.length) + scope = pane; + + if (pane.find(':input[name="required"]').is(':checked')) + type += '*'; + + var name = pane.find(':input[name="name"]').val(); + + var options = []; + + var size = scope.find(':input[name="size"]').val() || ''; + var maxlength = scope.find(':input[name="maxlength"]').val() || ''; + var cols = scope.find(':input[name="cols"]').val() || ''; + var rows = scope.find(':input[name="rows"]').val() || ''; + + if ((cols || rows) && maxlength) + options.push(cols + 'x' + rows + '/' + maxlength); + else if (cols || rows) + options.push(cols + 'x' + rows); + else if (size || maxlength) + options.push(size + '/' + maxlength); + + scope.find('input.option').not(':checkbox,:radio').each(function(i) { + var excluded = ['size', 'maxlength', 'cols', 'rows']; + + if (-1 < $.inArray($(this).attr('name'), excluded)) + return; + + var val = $(this).val(); + + if (! val) + return; + + if ($(this).hasClass('filetype')) + val = val.split(/[,|\s]+/).join('|'); + + if ($(this).hasClass('color')) + val = '#' + val; + + if ('class' == $(this).attr('name')) { + $.each(val.split(' '), function(i, n) { options.push('class:' + n) }); + } else { + options.push($(this).attr('name') + ':' + val); + } + }); + + scope.find('input:checkbox.option').each(function(i) { + if ($(this).is(':checked')) + options.push($(this).attr('name')); + }); + + options = (options.length > 0) ? ' ' + options.join(' ') : ''; + + var value = ''; + + if (scope.find(':input[name="values"]').val()) { + $.each(scope.find(':input[name="values"]').val().split("\n"), function(i, n) { + value += ' "' + n.replace(/["]/g, '"') + '"'; + }); + } + + if ($.tgPanes[tagType].nameless) + var tag = '[' + type + options + value + ']'; + else + var tag = name ? '[' + type + ' ' + name + options + value + ']' : ''; + + $(this).val(tag); + }); + + pane.find('input.mail-tag').each(function(i) { + var name = pane.find(':input[name="name"]').val(); + + var tag = name ? '[' + name + ']' : ''; + + $(this).val(tag); + }); + + } + + $.tgPanes = {}; + +})(jQuery); \ No newline at end of file diff --git a/wp-content/plugins/contact-form-7/images/ajax-loader.gif b/wp-content/plugins/contact-form-7/images/ajax-loader.gif new file mode 100644 index 0000000000000000000000000000000000000000..f2cfafd67f4e200b13a75d7bd093bdee54c2f116 GIT binary patch literal 847 zcmZ?wbhEHb6krfw_`<;O|NsB;^73E5eodJ&W$)g-RaI5p-Q6!`KikeHQNk&~a8qL-PMmd~L0lZBHDs7eQ93&@cStN{uNeJPpqmKuoUC~CDNtXexm zYwdvp2d^Dv;^>*ukeVSP#B=a~ zf`cHJ&w+*y$${?8Oio*#ZVND-p0{bqWVZD*Xt=Aat;&6vAl3|g72d7x8jzOQ(6|TN)0k3Co zc|z??%b8hfRI+(vH2HbDv054g3DyRMDNKeUM;%r)JIk@H5kHpQ-86?$(dkKoJwxMm zrhOBXU7IYboB|^nl6U7WD&rPXTBz{y(Bg!~gf`w#w`Gz=cO?0i7QEK{oc6x~t2H3M z0b_541COhrz@d{8xv>(*cS?BlTxh$Y!7k9nV#1{GTti1?UUB0cu(i`VAUAy((BOjfYz50rVKh zG6xfeLz|8{DtS)i*f48h0*75*E32o0N{2+RoVWQVUJo7igPpo1&00;(u2LcbOAhN^ rOjyy8aDeHjfMF+x#D?h({d~^m865hCENQGUn%zBWiVW7E WPCF7_ADMIN_READ_WRITE_CAPABILITY, + 'wpcf7_edit_contact_forms' => WPCF7_ADMIN_READ_WRITE_CAPABILITY, + 'wpcf7_read_contact_forms' => WPCF7_ADMIN_READ_CAPABILITY, + 'wpcf7_delete_contact_form' => WPCF7_ADMIN_READ_WRITE_CAPABILITY ); + + $meta_caps = apply_filters( 'wpcf7_map_meta_cap', $meta_caps ); + + $caps = array_diff( $caps, array_keys( $meta_caps ) ); + + if ( isset( $meta_caps[$cap] ) ) + $caps[] = $meta_caps[$cap]; + + return $caps; +} + +?> \ No newline at end of file diff --git a/wp-content/plugins/contact-form-7/includes/contact-form.php b/wp-content/plugins/contact-form-7/includes/contact-form.php new file mode 100644 index 0000000..10b2822 --- /dev/null +++ b/wp-content/plugins/contact-form-7/includes/contact-form.php @@ -0,0 +1,921 @@ + array( + 'name' => __( 'Contact Forms', 'contact-form-7' ), + 'singular_name' => __( 'Contact Form', 'contact-form-7' ) ), + 'rewrite' => false, + 'query_var' => false ) ); + } + + public static function find( $args = '' ) { + $defaults = array( + 'post_status' => 'any', + 'posts_per_page' => -1, + 'offset' => 0, + 'orderby' => 'ID', + 'order' => 'ASC' ); + + $args = wp_parse_args( $args, $defaults ); + + $args['post_type'] = self::post_type; + + $q = new WP_Query(); + $posts = $q->query( $args ); + + self::$found_items = $q->found_posts; + + $objs = array(); + + foreach ( (array) $posts as $post ) + $objs[] = new self( $post ); + + return $objs; + } + + public static function get_template( $args = '' ) { + global $l10n; + + $defaults = array( 'locale' => null, 'title' => '' ); + $args = wp_parse_args( $args, $defaults ); + + $locale = $args['locale']; + $title = $args['title']; + + if ( $locale ) { + $mo_orig = $l10n['contact-form-7']; + wpcf7_load_textdomain( $locale ); + } + + self::$current = $contact_form = new self; + $contact_form->title = + ( $title ? $title : __( 'Untitled', 'contact-form-7' ) ); + $contact_form->locale = ( $locale ? $locale : get_locale() ); + + $properties = $contact_form->get_properties(); + + foreach ( $properties as $key => $value ) { + $properties[$key] = wpcf7_get_default_template( $key ); + } + + $contact_form->properties = $properties; + + $contact_form = apply_filters( 'wpcf7_contact_form_default_pack', + $contact_form, $args ); + + if ( isset( $mo_orig ) ) { + $l10n['contact-form-7'] = $mo_orig; + } + + return $contact_form; + } + + public static function get_instance( $post ) { + $post = get_post( $post ); + + if ( ! $post || self::post_type != get_post_type( $post ) ) { + return false; + } + + self::$current = $contact_form = new self( $post ); + + return $contact_form; + } + + private static function get_unit_tag( $id = 0 ) { + static $global_count = 0; + + $global_count += 1; + + if ( in_the_loop() ) { + $unit_tag = sprintf( 'wpcf7-f%1$d-p%2$d-o%3$d', + absint( $id ), get_the_ID(), $global_count ); + } else { + $unit_tag = sprintf( 'wpcf7-f%1$d-o%2$d', + absint( $id ), $global_count ); + } + + return $unit_tag; + } + + private function __construct( $post = null ) { + $post = get_post( $post ); + + if ( $post && self::post_type == get_post_type( $post ) ) { + $this->id = $post->ID; + $this->name = $post->post_name; + $this->title = $post->post_title; + $this->locale = get_post_meta( $post->ID, '_locale', true ); + + $properties = $this->get_properties(); + + foreach ( $properties as $key => $value ) { + if ( metadata_exists( 'post', $post->ID, '_' . $key ) ) { + $properties[$key] = get_post_meta( $post->ID, '_' . $key, true ); + } elseif ( metadata_exists( 'post', $post->ID, $key ) ) { + $properties[$key] = get_post_meta( $post->ID, $key, true ); + } + } + + $this->properties = $properties; + $this->upgrade(); + } + + do_action( 'wpcf7_contact_form', $this ); + } + + public function __get( $name ) { + $message = __( '%1$s property of a WPCF7_ContactForm object is no longer accessible. Use %2$s method instead.', 'contact-form-7' ); + + if ( 'id' == $name ) { + if ( WP_DEBUG ) { + trigger_error( sprintf( $message, 'id', 'id()' ) ); + } + + return $this->id; + } elseif ( 'title' == $name ) { + if ( WP_DEBUG ) { + trigger_error( sprintf( $message, 'title', 'title()' ) ); + } + + return $this->title; + } elseif ( $prop = $this->prop( $name ) ) { + if ( WP_DEBUG ) { + trigger_error( + sprintf( $message, $name, 'prop(\'' . $name . '\')' ) ); + } + + return $prop; + } + } + + public function initial() { + return empty( $this->id ); + } + + public function prop( $name ) { + $props = $this->get_properties(); + return isset( $props[$name] ) ? $props[$name] : null; + } + + public function get_properties() { + $properties = (array) $this->properties; + + $properties = wp_parse_args( $properties, array( + 'form' => '', + 'mail' => array(), + 'mail_2' => array(), + 'messages' => array(), + 'additional_settings' => '' ) ); + + $properties = (array) apply_filters( 'wpcf7_contact_form_properties', + $properties, $this ); + + return $properties; + } + + public function set_properties( $properties ) { + $defaults = $this->get_properties(); + + $properties = wp_parse_args( $properties, $defaults ); + $properties = array_intersect_key( $properties, $defaults ); + + $this->properties = $properties; + } + + public function id() { + return $this->id; + } + + public function name() { + return $this->name; + } + + public function title() { + return $this->title; + } + + public function set_title( $title ) { + $title = trim( $title ); + + if ( '' === $title ) { + $title = __( 'Untitled', 'contact-form-7' ); + } + + $this->title = $title; + } + + // Return true if this form is the same one as currently POSTed. + public function is_posted() { + if ( ! WPCF7_Submission::get_instance() ) { + return false; + } + + if ( empty( $_POST['_wpcf7_unit_tag'] ) ) { + return false; + } + + return $this->unit_tag == $_POST['_wpcf7_unit_tag']; + } + + /* Generating Form HTML */ + + public function form_html( $atts = array() ) { + $atts = wp_parse_args( $atts, array( + 'html_id' => '', + 'html_name' => '', + 'html_class' => '', + 'output' => 'form' ) ); + + if ( 'raw_form' == $atts['output'] ) { + return '
'
+				. esc_html( $this->prop( 'form' ) ) . '
'; + } + + $this->unit_tag = self::get_unit_tag( $this->id ); + + $html = sprintf( '
', wpcf7_format_atts( array( + 'class' => 'wpcf7', + 'id' => $this->unit_tag, + ( get_option( 'html_type' ) == 'text/html' ) ? 'lang' : 'xml:lang' + => str_replace( '_', '-', $this->locale ), + 'dir' => wpcf7_is_rtl( $this->locale ) ? 'rtl' : 'ltr' ) ) ) . "\n"; + + $html .= $this->screen_reader_response() . "\n"; + + $url = wpcf7_get_request_uri(); + + if ( $frag = strstr( $url, '#' ) ) + $url = substr( $url, 0, -strlen( $frag ) ); + + $url .= '#' . $this->unit_tag; + + $url = apply_filters( 'wpcf7_form_action_url', $url ); + + $id_attr = apply_filters( 'wpcf7_form_id_attr', + preg_replace( '/[^A-Za-z0-9:._-]/', '', $atts['html_id'] ) ); + + $name_attr = apply_filters( 'wpcf7_form_name_attr', + preg_replace( '/[^A-Za-z0-9:._-]/', '', $atts['html_name'] ) ); + + $class = 'wpcf7-form'; + + if ( $this->is_posted() ) { + $submission = WPCF7_Submission::get_instance(); + + if ( $submission->is( 'validation_failed' ) ) { + $class .= ' invalid'; + } elseif ( $submission->is( 'spam' ) ) { + $class .= ' spam'; + } elseif ( $submission->is( 'mail_sent' ) ) { + $class .= ' sent'; + } elseif ( $submission->is( 'mail_failed' ) ) { + $class .= ' failed'; + } + } + + if ( $atts['html_class'] ) { + $class .= ' ' . $atts['html_class']; + } + + if ( $this->in_demo_mode() ) { + $class .= ' demo'; + } + + $class = explode( ' ', $class ); + $class = array_map( 'sanitize_html_class', $class ); + $class = array_filter( $class ); + $class = array_unique( $class ); + $class = implode( ' ', $class ); + $class = apply_filters( 'wpcf7_form_class_attr', $class ); + + $enctype = apply_filters( 'wpcf7_form_enctype', '' ); + + $novalidate = apply_filters( 'wpcf7_form_novalidate', wpcf7_support_html5() ); + + $html .= sprintf( '
', + wpcf7_format_atts( array( + 'action' => esc_url( $url ), + 'method' => 'post', + 'id' => $id_attr, + 'name' => $name_attr, + 'class' => $class, + 'enctype' => wpcf7_enctype_value( $enctype ), + 'novalidate' => $novalidate ? 'novalidate' : '' ) ) ) . "\n"; + + $html .= $this->form_hidden_fields(); + $html .= $this->form_elements(); + + if ( ! $this->responses_count ) { + $html .= $this->form_response_output(); + } + + $html .= '
'; + $html .= '
'; + + return $html; + } + + private function form_hidden_fields() { + $hidden_fields = array( + '_wpcf7' => $this->id, + '_wpcf7_version' => WPCF7_VERSION, + '_wpcf7_locale' => $this->locale, + '_wpcf7_unit_tag' => $this->unit_tag ); + + if ( WPCF7_VERIFY_NONCE ) + $hidden_fields['_wpnonce'] = wpcf7_create_nonce( $this->id ); + + $content = ''; + + foreach ( $hidden_fields as $name => $value ) { + $content .= '' . "\n"; + } + + return '
' . "\n" . $content . '
' . "\n"; + } + + public function form_response_output() { + $class = 'wpcf7-response-output'; + $role = ''; + $content = ''; + + if ( $this->is_posted() ) { // Post response output for non-AJAX + $role = 'alert'; + + $submission = WPCF7_Submission::get_instance(); + $content = $submission->get_response(); + + if ( $submission->is( 'validation_failed' ) ) { + $class .= ' wpcf7-validation-errors'; + } elseif ( $submission->is( 'spam' ) ) { + $class .= ' wpcf7-spam-blocked'; + } elseif ( $submission->is( 'mail_sent' ) ) { + $class .= ' wpcf7-mail-sent-ok'; + } elseif ( $submission->is( 'mail_failed' ) ) { + $class .= ' wpcf7-mail-sent-ng'; + } + } else { + $class .= ' wpcf7-display-none'; + } + + $atts = array( + 'class' => trim( $class ), + 'role' => trim( $role ) ); + + $atts = wpcf7_format_atts( $atts ); + + $output = sprintf( '
%2$s
', + $atts, esc_html( $content ) ); + + $output = apply_filters( 'wpcf7_form_response_output', + $output, $class, $content, $this ); + + $this->responses_count += 1; + + return $output; + } + + public function screen_reader_response() { + $class = 'screen-reader-response'; + $role = ''; + $content = ''; + + if ( $this->is_posted() ) { // Post response output for non-AJAX + $role = 'alert'; + + $submission = WPCF7_Submission::get_instance(); + + if ( $response = $submission->get_response() ) { + $content = esc_html( $response ); + } + + if ( $invalid_fields = $submission->get_invalid_fields() ) { + $content .= "\n" . '
    ' . "\n"; + + foreach ( (array) $invalid_fields as $name => $field ) { + if ( $field['idref'] ) { + $link = sprintf( '%2$s', + esc_attr( $field['idref'] ), + esc_html( $field['reason'] ) ); + $content .= sprintf( '
  • %s
  • ', $link ); + } else { + $content .= sprintf( '
  • %s
  • ', + esc_html( $field['reason'] ) ); + } + + $content .= "\n"; + } + + $content .= '
' . "\n"; + } + } + + $atts = array( + 'class' => trim( $class ), + 'role' => trim( $role ) ); + + $atts = wpcf7_format_atts( $atts ); + + $output = sprintf( '
%2$s
', + $atts, $content ); + + return $output; + } + + public function validation_error( $name ) { + $error = ''; + + if ( $this->is_posted() ) { + $submission = WPCF7_Submission::get_instance(); + + if ( $invalid_field = $submission->get_invalid_field( $name ) ) { + $error = trim( $invalid_field['reason'] ); + } + } + + if ( ! $error ) { + return $error; + } + + $error = sprintf( + '%s', + esc_html( $error ) ); + + return apply_filters( 'wpcf7_validation_error', $error, $name, $this ); + } + + /* Form Elements */ + + public function form_do_shortcode() { + $manager = WPCF7_ShortcodeManager::get_instance(); + $form = $this->prop( 'form' ); + + if ( WPCF7_AUTOP ) { + $form = $manager->normalize_shortcode( $form ); + $form = wpcf7_autop( $form ); + } + + $form = $manager->do_shortcode( $form ); + $this->scanned_form_tags = $manager->get_scanned_tags(); + + return $form; + } + + public function form_scan_shortcode( $cond = null ) { + $manager = WPCF7_ShortcodeManager::get_instance(); + + if ( ! empty( $this->scanned_form_tags ) ) { + $scanned = $this->scanned_form_tags; + } else { + $scanned = $manager->scan_shortcode( $this->prop( 'form' ) ); + $this->scanned_form_tags = $scanned; + } + + if ( empty( $scanned ) ) + return null; + + if ( ! is_array( $cond ) || empty( $cond ) ) + return $scanned; + + for ( $i = 0, $size = count( $scanned ); $i < $size; $i++ ) { + + if ( isset( $cond['type'] ) ) { + if ( is_string( $cond['type'] ) && ! empty( $cond['type'] ) ) { + if ( $scanned[$i]['type'] != $cond['type'] ) { + unset( $scanned[$i] ); + continue; + } + } elseif ( is_array( $cond['type'] ) ) { + if ( ! in_array( $scanned[$i]['type'], $cond['type'] ) ) { + unset( $scanned[$i] ); + continue; + } + } + } + + if ( isset( $cond['name'] ) ) { + if ( is_string( $cond['name'] ) && ! empty( $cond['name'] ) ) { + if ( $scanned[$i]['name'] != $cond['name'] ) { + unset ( $scanned[$i] ); + continue; + } + } elseif ( is_array( $cond['name'] ) ) { + if ( ! in_array( $scanned[$i]['name'], $cond['name'] ) ) { + unset( $scanned[$i] ); + continue; + } + } + } + } + + return array_values( $scanned ); + } + + public function form_elements() { + return apply_filters( 'wpcf7_form_elements', $this->form_do_shortcode() ); + } + + public function submit( $ajax = false ) { + $submission = WPCF7_Submission::get_instance( $this ); + + $result = array( + 'status' => $submission->get_status(), + 'message' => $submission->get_response(), + 'demo_mode' => $this->in_demo_mode() ); + + if ( $submission->is( 'validation_failed' ) ) { + $result['invalid_fields'] = $submission->get_invalid_fields(); + } + + if ( $submission->is( 'mail_sent' ) ) { + if ( $ajax ) { + $on_sent_ok = $this->additional_setting( 'on_sent_ok', false ); + + if ( ! empty( $on_sent_ok ) ) { + $result['scripts_on_sent_ok'] = array_map( + 'wpcf7_strip_quote', $on_sent_ok ); + } + } + } + + if ( $ajax ) { + $on_submit = $this->additional_setting( 'on_submit', false ); + + if ( ! empty( $on_submit ) ) { + $result['scripts_on_submit'] = array_map( + 'wpcf7_strip_quote', $on_submit ); + } + } + + do_action( 'wpcf7_submit', $this, $result ); + + return $result; + } + + /* Message */ + + public function message( $status, $filter = true ) { + $messages = $this->prop( 'messages' ); + $message = isset( $messages[$status] ) ? $messages[$status] : ''; + + if ( $filter ) { + $message = wpcf7_mail_replace_tags( $message, array( 'html' => true ) ); + $message = apply_filters( 'wpcf7_display_message', $message, $status ); + } + + return $message; + } + + /* Additional settings */ + + public function additional_setting( $name, $max = 1 ) { + $tmp_settings = (array) explode( "\n", $this->prop( 'additional_settings' ) ); + + $count = 0; + $values = array(); + + foreach ( $tmp_settings as $setting ) { + if ( preg_match('/^([a-zA-Z0-9_]+)[\t ]*:(.*)$/', $setting, $matches ) ) { + if ( $matches[1] != $name ) + continue; + + if ( ! $max || $count < (int) $max ) { + $values[] = trim( $matches[2] ); + $count += 1; + } + } + } + + return $values; + } + + public function is_true( $name ) { + $settings = $this->additional_setting( $name, false ); + + foreach ( $settings as $setting ) { + if ( in_array( $setting, array( 'on', 'true', '1' ) ) ) + return true; + } + + return false; + } + + public function in_demo_mode() { + return $this->is_true( 'demo_mode' ); + } + + /* Upgrade */ + + private function upgrade() { + $mail = $this->prop( 'mail' ); + + if ( is_array( $mail ) && ! isset( $mail['recipient'] ) ) { + $mail['recipient'] = get_option( 'admin_email' ); + } + + $this->properties['mail'] = $mail; + + $messages = $this->prop( 'messages' ); + + if ( is_array( $messages ) ) { + foreach ( wpcf7_messages() as $key => $arr ) { + if ( ! isset( $messages[$key] ) ) { + $messages[$key] = $arr['default']; + } + } + } + + $this->properties['messages'] = $messages; + } + + /* Save */ + + public function save() { + $props = $this->get_properties(); + + $post_content = implode( "\n", wpcf7_array_flatten( $props ) ); + + if ( $this->initial() ) { + $post_id = wp_insert_post( array( + 'post_type' => self::post_type, + 'post_status' => 'publish', + 'post_title' => $this->title, + 'post_content' => trim( $post_content ) ) ); + } else { + $post_id = wp_update_post( array( + 'ID' => (int) $this->id, + 'post_status' => 'publish', + 'post_title' => $this->title, + 'post_content' => trim( $post_content ) ) ); + } + + if ( $post_id ) { + foreach ( $props as $prop => $value ) { + update_post_meta( $post_id, '_' . $prop, + wpcf7_normalize_newline_deep( $value ) ); + } + + if ( wpcf7_is_valid_locale( $this->locale ) ) { + update_post_meta( $post_id, '_locale', $this->locale ); + } + + if ( $this->initial() ) { + $this->id = $post_id; + do_action( 'wpcf7_after_create', $this ); + } else { + do_action( 'wpcf7_after_update', $this ); + } + + do_action( 'wpcf7_after_save', $this ); + } + + return $post_id; + } + + public function copy() { + $new = new self; + $new->title = $this->title . '_copy'; + $new->locale = $this->locale; + $new->properties = $this->properties; + + return apply_filters( 'wpcf7_copy', $new, $this ); + } + + public function delete() { + if ( $this->initial() ) + return; + + if ( wp_delete_post( $this->id, true ) ) { + $this->id = 0; + return true; + } + + return false; + } +} + +function wpcf7_contact_form( $id ) { + return WPCF7_ContactForm::get_instance( $id ); +} + +function wpcf7_get_contact_form_by_old_id( $old_id ) { + global $wpdb; + + $q = "SELECT post_id FROM $wpdb->postmeta WHERE meta_key = '_old_cf7_unit_id'" + . $wpdb->prepare( " AND meta_value = %d", $old_id ); + + if ( $new_id = $wpdb->get_var( $q ) ) + return wpcf7_contact_form( $new_id ); +} + +function wpcf7_get_contact_form_by_title( $title ) { + $page = get_page_by_title( $title, OBJECT, WPCF7_ContactForm::post_type ); + + if ( $page ) + return wpcf7_contact_form( $page->ID ); + + return null; +} + +function wpcf7_get_current_contact_form() { + if ( $current = WPCF7_ContactForm::get_current() ) { + return $current; + } +} + +function wpcf7_is_posted() { + if ( ! $contact_form = wpcf7_get_current_contact_form() ) + return false; + + return $contact_form->is_posted(); +} + +function wpcf7_get_hangover( $name, $default = null ) { + if ( ! wpcf7_is_posted() ) { + return $default; + } + + $submission = WPCF7_Submission::get_instance(); + + if ( ! $submission || $submission->is( 'mail_sent' ) ) { + return $default; + } + + return isset( $_POST[$name] ) ? wp_unslash( $_POST[$name] ) : $default; +} + +function wpcf7_get_validation_error( $name ) { + if ( ! $contact_form = wpcf7_get_current_contact_form() ) + return ''; + + return $contact_form->validation_error( $name ); +} + +function wpcf7_get_message( $status ) { + if ( ! $contact_form = wpcf7_get_current_contact_form() ) + return ''; + + return $contact_form->message( $status ); +} + +function wpcf7_scan_shortcode( $cond = null ) { + if ( ! $contact_form = wpcf7_get_current_contact_form() ) + return null; + + return $contact_form->form_scan_shortcode( $cond ); +} + +function wpcf7_form_controls_class( $type, $default = '' ) { + $type = trim( $type ); + $default = array_filter( explode( ' ', $default ) ); + + $classes = array_merge( array( 'wpcf7-form-control' ), $default ); + + $typebase = rtrim( $type, '*' ); + $required = ( '*' == substr( $type, -1 ) ); + + $classes[] = 'wpcf7-' . $typebase; + + if ( $required ) + $classes[] = 'wpcf7-validates-as-required'; + + $classes = array_unique( $classes ); + + return implode( ' ', $classes ); +} + +function wpcf7_get_default_template( $prop = 'form' ) { + if ( 'form' == $prop ) + $template = wpcf7_default_form_template(); + elseif ( 'mail' == $prop ) + $template = wpcf7_default_mail_template(); + elseif ( 'mail_2' == $prop ) + $template = wpcf7_default_mail_2_template(); + elseif ( 'messages' == $prop ) + $template = wpcf7_default_messages_template(); + else + $template = null; + + return apply_filters( 'wpcf7_default_template', $template, $prop ); +} + +function wpcf7_default_form_template() { + $template = + '

' . __( 'Your Name', 'contact-form-7' ) . ' ' . __( '(required)', 'contact-form-7' ) . '
' . "\n" + . ' [text* your-name]

' . "\n\n" + . '

' . __( 'Your Email', 'contact-form-7' ) . ' ' . __( '(required)', 'contact-form-7' ) . '
' . "\n" + . ' [email* your-email]

' . "\n\n" + . '

' . __( 'Subject', 'contact-form-7' ) . '
' . "\n" + . ' [text your-subject]

' . "\n\n" + . '

' . __( 'Your Message', 'contact-form-7' ) . '
' . "\n" + . ' [textarea your-message]

' . "\n\n" + . '

[submit "' . __( 'Send', 'contact-form-7' ) . '"]

'; + + return $template; +} + +function wpcf7_default_mail_template() { + $subject = '[your-subject]'; + $sender = '[your-name] <[your-email]>'; + $body = sprintf( __( 'From: %s', 'contact-form-7' ), '[your-name] <[your-email]>' ) . "\n" + . sprintf( __( 'Subject: %s', 'contact-form-7' ), '[your-subject]' ) . "\n\n" + . __( 'Message Body:', 'contact-form-7' ) . "\n" . '[your-message]' . "\n\n" . '--' . "\n" + . sprintf( __( 'This e-mail was sent from a contact form on %1$s (%2$s)', 'contact-form-7' ), + get_bloginfo( 'name' ), get_bloginfo( 'url' ) ); + $recipient = get_option( 'admin_email' ); + $additional_headers = ''; + $attachments = ''; + $use_html = 0; + $exclude_blank = 0; + return compact( 'subject', 'sender', 'body', 'recipient', 'additional_headers', 'attachments', 'use_html', 'exclude_blank' ); +} + +function wpcf7_default_mail_2_template() { + $active = false; + $subject = '[your-subject]'; + $sender = '[your-name] <[your-email]>'; + $body = __( 'Message Body:', 'contact-form-7' ) . "\n" . '[your-message]' . "\n\n" . '--' . "\n" + . sprintf( __( 'This e-mail was sent from a contact form on %1$s (%2$s)', 'contact-form-7' ), + get_bloginfo( 'name' ), get_bloginfo( 'url' ) ); + $recipient = '[your-email]'; + $additional_headers = ''; + $attachments = ''; + $use_html = 0; + $exclude_blank = 0; + return compact( 'active', 'subject', 'sender', 'body', 'recipient', 'additional_headers', 'attachments', 'use_html', 'exclude_blank' ); +} + +function wpcf7_default_messages_template() { + $messages = array(); + + foreach ( wpcf7_messages() as $key => $arr ) { + $messages[$key] = $arr['default']; + } + + return $messages; +} + +function wpcf7_messages() { + $messages = array( + 'mail_sent_ok' => array( + 'description' => __( "Sender's message was sent successfully", 'contact-form-7' ), + 'default' => __( 'Your message was sent successfully. Thanks.', 'contact-form-7' ) + ), + + 'mail_sent_ng' => array( + 'description' => __( "Sender's message was failed to send", 'contact-form-7' ), + 'default' => __( 'Failed to send your message. Please try later or contact the administrator by another method.', 'contact-form-7' ) + ), + + 'validation_error' => array( + 'description' => __( "Validation errors occurred", 'contact-form-7' ), + 'default' => __( 'Validation errors occurred. Please confirm the fields and submit it again.', 'contact-form-7' ) + ), + + 'spam' => array( + 'description' => __( "Submission was referred to as spam", 'contact-form-7' ), + 'default' => __( 'Failed to send your message. Please try later or contact the administrator by another method.', 'contact-form-7' ) + ), + + 'accept_terms' => array( + 'description' => __( "There are terms that the sender must accept", 'contact-form-7' ), + 'default' => __( 'Please accept the terms to proceed.', 'contact-form-7' ) + ), + + 'invalid_required' => array( + 'description' => __( "There is a field that the sender must fill in", 'contact-form-7' ), + 'default' => __( 'Please fill the required field.', 'contact-form-7' ) + ) + ); + + return apply_filters( 'wpcf7_messages', $messages ); +} + +?> \ No newline at end of file diff --git a/wp-content/plugins/contact-form-7/includes/controller.php b/wp-content/plugins/contact-form-7/includes/controller.php new file mode 100644 index 0000000..14941d8 --- /dev/null +++ b/wp-content/plugins/contact-form-7/includes/controller.php @@ -0,0 +1,266 @@ + false, + 'into' => '#' . $unit_tag, + 'captcha' => null ); + + $result = $contact_form->submit( true ); + + if ( ! empty( $result['message'] ) ) { + $items['message'] = $result['message']; + } + + if ( 'mail_sent' == $result['status'] ) { + $items['mailSent'] = true; + } + + if ( 'validation_failed' == $result['status'] ) { + $invalids = array(); + + foreach ( $result['invalid_fields'] as $name => $field ) { + $invalids[] = array( + 'into' => 'span.wpcf7-form-control-wrap.' + . sanitize_html_class( $name ), + 'message' => $field['reason'], + 'idref' => $field['idref'] ); + } + + $items['invalids'] = $invalids; + } + + if ( 'spam' == $result['status'] ) { + $items['spam'] = true; + } + + if ( ! empty( $result['scripts_on_sent_ok'] ) ) { + $items['onSentOk'] = $result['scripts_on_sent_ok']; + } + + if ( ! empty( $result['scripts_on_submit'] ) ) { + $items['onSubmit'] = $result['scripts_on_submit']; + } + + $items = apply_filters( 'wpcf7_ajax_json_echo', $items, $result ); + } + } + + $echo = json_encode( $items ); + + if ( wpcf7_is_xhr() ) { + @header( 'Content-Type: application/json; charset=' . get_option( 'blog_charset' ) ); + echo $echo; + } else { + @header( 'Content-Type: text/html; charset=' . get_option( 'blog_charset' ) ); + echo ''; + } + + exit(); +} + +function wpcf7_is_xhr() { + if ( ! isset( $_SERVER['HTTP_X_REQUESTED_WITH'] ) ) + return false; + + return $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest'; +} + +function wpcf7_submit_nonajax() { + if ( ! isset( $_POST['_wpcf7'] ) ) + return; + + if ( $contact_form = wpcf7_contact_form( (int) $_POST['_wpcf7'] ) ) { + $contact_form->submit(); + } +} + +add_filter( 'widget_text', 'wpcf7_widget_text_filter', 9 ); + +function wpcf7_widget_text_filter( $content ) { + if ( ! preg_match( '/\[[\r\n\t ]*contact-form(-7)?[\r\n\t ].*?\]/', $content ) ) + return $content; + + $content = do_shortcode( $content ); + + return $content; +} + +/* Shortcodes */ + +add_action( 'plugins_loaded', 'wpcf7_add_shortcodes' ); + +function wpcf7_add_shortcodes() { + add_shortcode( 'contact-form-7', 'wpcf7_contact_form_tag_func' ); + add_shortcode( 'contact-form', 'wpcf7_contact_form_tag_func' ); +} + +function wpcf7_contact_form_tag_func( $atts, $content = null, $code = '' ) { + if ( is_feed() ) + return '[contact-form-7]'; + + if ( 'contact-form-7' == $code ) { + $atts = shortcode_atts( array( + 'id' => 0, + 'title' => '', + 'html_id' => '', + 'html_name' => '', + 'html_class' => '', + 'output' => 'form' ), $atts ); + + $id = (int) $atts['id']; + $title = trim( $atts['title'] ); + + if ( ! $contact_form = wpcf7_contact_form( $id ) ) + $contact_form = wpcf7_get_contact_form_by_title( $title ); + + } else { + if ( is_string( $atts ) ) + $atts = explode( ' ', $atts, 2 ); + + $id = (int) array_shift( $atts ); + $contact_form = wpcf7_get_contact_form_by_old_id( $id ); + } + + if ( ! $contact_form ) + return '[contact-form-7 404 "Not Found"]'; + + return $contact_form->form_html( $atts ); +} + +add_action( 'wp_enqueue_scripts', 'wpcf7_do_enqueue_scripts' ); + +function wpcf7_do_enqueue_scripts() { + if ( wpcf7_load_js() ) { + wpcf7_enqueue_scripts(); + } + + if ( wpcf7_load_css() ) { + wpcf7_enqueue_styles(); + } +} + +function wpcf7_enqueue_scripts() { + // jquery.form.js originally bundled with WordPress is out of date and deprecated + // so we need to deregister it and re-register the latest one + wp_deregister_script( 'jquery-form' ); + wp_register_script( 'jquery-form', + wpcf7_plugin_url( 'includes/js/jquery.form.min.js' ), + array( 'jquery' ), '3.51.0-2014.06.20', true ); + + $in_footer = true; + + if ( 'header' === wpcf7_load_js() ) { + $in_footer = false; + } + + wp_enqueue_script( 'contact-form-7', + wpcf7_plugin_url( 'includes/js/scripts.js' ), + array( 'jquery', 'jquery-form' ), WPCF7_VERSION, $in_footer ); + + $_wpcf7 = array( + 'loaderUrl' => wpcf7_ajax_loader(), + 'sending' => __( 'Sending ...', 'contact-form-7' ) ); + + if ( defined( 'WP_CACHE' ) && WP_CACHE ) + $_wpcf7['cached'] = 1; + + if ( wpcf7_support_html5_fallback() ) + $_wpcf7['jqueryUi'] = 1; + + wp_localize_script( 'contact-form-7', '_wpcf7', $_wpcf7 ); + + do_action( 'wpcf7_enqueue_scripts' ); +} + +function wpcf7_script_is() { + return wp_script_is( 'contact-form-7' ); +} + +function wpcf7_enqueue_styles() { + wp_enqueue_style( 'contact-form-7', + wpcf7_plugin_url( 'includes/css/styles.css' ), + array(), WPCF7_VERSION, 'all' ); + + if ( wpcf7_is_rtl() ) { + wp_enqueue_style( 'contact-form-7-rtl', + wpcf7_plugin_url( 'includes/css/styles-rtl.css' ), + array(), WPCF7_VERSION, 'all' ); + } + + do_action( 'wpcf7_enqueue_styles' ); +} + +function wpcf7_style_is() { + return wp_style_is( 'contact-form-7' ); +} + +/* HTML5 Fallback */ + +add_action( 'wp_enqueue_scripts', 'wpcf7_html5_fallback', 20 ); + +function wpcf7_html5_fallback() { + if ( ! wpcf7_support_html5_fallback() ) { + return; + } + + if ( wpcf7_script_is() ) { + wp_enqueue_script( 'jquery-ui-datepicker' ); + wp_enqueue_script( 'jquery-ui-spinner' ); + } + + if ( wpcf7_style_is() ) { + wp_enqueue_style( 'jquery-ui-smoothness', + wpcf7_plugin_url( 'includes/js/jquery-ui/themes/smoothness/jquery-ui.min.css' ), array(), '1.10.3', 'screen' ); + } +} + +?> \ No newline at end of file diff --git a/wp-content/plugins/contact-form-7/includes/css/styles-rtl.css b/wp-content/plugins/contact-form-7/includes/css/styles-rtl.css new file mode 100644 index 0000000..dce5be2 --- /dev/null +++ b/wp-content/plugins/contact-form-7/includes/css/styles-rtl.css @@ -0,0 +1,13 @@ +span.wpcf7-not-valid-tip { + direction: rtl; +} + +.use-floating-validation-tip span.wpcf7-not-valid-tip { + left: auto; + right: 20%; +} + +span.wpcf7-list-item { + margin-left: 0; + margin-right: 0.5em; +} diff --git a/wp-content/plugins/contact-form-7/includes/css/styles.css b/wp-content/plugins/contact-form-7/includes/css/styles.css new file mode 100644 index 0000000..448c9fa --- /dev/null +++ b/wp-content/plugins/contact-form-7/includes/css/styles.css @@ -0,0 +1,78 @@ +div.wpcf7 { + margin: 0; + padding: 0; +} + +div.wpcf7-response-output { + margin: 2em 0.5em 1em; + padding: 0.2em 1em; +} + +div.wpcf7 .screen-reader-response { + position: absolute; + overflow: hidden; + clip: rect(1px, 1px, 1px, 1px); + height: 1px; + width: 1px; + margin: 0; + padding: 0; + border: 0; +} + +div.wpcf7-mail-sent-ok { + border: 2px solid #398f14; +} + +div.wpcf7-mail-sent-ng { + border: 2px solid #ff0000; +} + +div.wpcf7-spam-blocked { + border: 2px solid #ffa500; +} + +div.wpcf7-validation-errors { + border: 2px solid #f7e700; +} + +span.wpcf7-form-control-wrap { + position: relative; +} + +span.wpcf7-not-valid-tip { + color: #f00; + font-size: 1em; + display: block; +} + +.use-floating-validation-tip span.wpcf7-not-valid-tip { + position: absolute; + top: 20%; + left: 20%; + z-index: 100; + border: 1px solid #ff0000; + background: #fff; + padding: .2em .8em; +} + +span.wpcf7-list-item { + margin-left: 0.5em; +} + +.wpcf7-display-none { + display: none; +} + +div.wpcf7 img.ajax-loader { + border: none; + vertical-align: middle; + margin-left: 4px; +} + +div.wpcf7 div.ajax-error { + display: none; +} + +div.wpcf7 .placeheld { + color: #888; +} \ No newline at end of file diff --git a/wp-content/plugins/contact-form-7/includes/formatting.php b/wp-content/plugins/contact-form-7/includes/formatting.php new file mode 100644 index 0000000..c3bb64d --- /dev/null +++ b/wp-content/plugins/contact-form-7/includes/formatting.php @@ -0,0 +1,198 @@ +\s*
|', "\n\n", $pee ); + // Space things out a little + /* wpcf7: remove select and input */ + $allblocks = '(?:table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|form|map|area|blockquote|address|math|style|p|h[1-6]|hr|fieldset|legend|section|article|aside|hgroup|header|footer|nav|figure|figcaption|details|menu|summary)'; + $pee = preg_replace( '!(<' . $allblocks . '[^>]*>)!', "\n$1", $pee ); + $pee = preg_replace( '!()!', "$1\n\n", $pee ); + + /* wpcf7: take care of [response] tag */ + $pee = preg_replace( '!(\[response[^]]*\])!', "\n$1\n\n", $pee ); + + $pee = str_replace( array( "\r\n", "\r" ), "\n", $pee ); // cross-platform newlines + + if ( strpos( $pee, ']*)>\s*|', "", $pee ); // no pee inside object/embed + $pee = preg_replace( '|\s*\s*|', '', $pee ); + } + + $pee = preg_replace( "/\n\n+/", "\n\n", $pee ); // take care of duplicates + // make paragraphs, including one at the end + $pees = preg_split( '/\n\s*\n/', $pee, -1, PREG_SPLIT_NO_EMPTY ); + $pee = ''; + + foreach ( $pees as $tinkle ) { + $pee .= '

' . trim( $tinkle, "\n" ) . "

\n"; + } + + $pee = preg_replace( '|

\s*

|', '', $pee ); // under certain strange conditions it could create a P of entirely whitespace + $pee = preg_replace( '!

([^<]+)!', "

$1

", $pee ); + $pee = preg_replace( '!

\s*(]*>)\s*

!', "$1", $pee ); // don't pee all over a tag + $pee = preg_replace( "|

(|", "$1", $pee ); // problem with nested lists + $pee = preg_replace( '|

]*)>|i', "

", $pee ); + $pee = str_replace( '

', '

', $pee ); + $pee = preg_replace( '!

\s*(]*>)!', "$1", $pee ); + $pee = preg_replace( '!(]*>)\s*

!', "$1", $pee ); + + /* wpcf7: take care of [response] tag */ + $pee = preg_replace( '!

\s*(\[response[^]]*\])!', "$1", $pee ); + $pee = preg_replace( '!(\[response[^]]*\])\s*

!', "$1", $pee ); + + if ( $br ) { + /* wpcf7: add textarea */ + $pee = preg_replace_callback( '/<(script|style|textarea).*?<\/\\1>/s', create_function( '$matches', 'return str_replace("\n", "", $matches[0]);' ), $pee ); + $pee = preg_replace( '|(?)\s*\n|', "
\n", $pee ); // optionally make line breaks + $pee = str_replace( '', "\n", $pee ); + } + $pee = preg_replace( '!(]*>)\s*
!', "$1", $pee ); + $pee = preg_replace( '!
(\s*]*>)!', '$1', $pee ); + if ( strpos( $pee, ']*>)(.*?)!is', 'clean_pre', $pee ); + $pee = preg_replace( "|\n

$|", '

', $pee ); + + return $pee; +} + +function wpcf7_strip_quote( $text ) { + $text = trim( $text ); + + if ( preg_match( '/^"(.*)"$/', $text, $matches ) ) + $text = $matches[1]; + elseif ( preg_match( "/^'(.*)'$/", $text, $matches ) ) + $text = $matches[1]; + + return $text; +} + +function wpcf7_strip_quote_deep( $arr ) { + if ( is_string( $arr ) ) + return wpcf7_strip_quote( $arr ); + + if ( is_array( $arr ) ) { + $result = array(); + + foreach ( $arr as $key => $text ) + $result[$key] = wpcf7_strip_quote_deep( $text ); + + return $result; + } +} + +function wpcf7_normalize_newline( $text, $to = "\n" ) { + if ( ! is_string( $text ) ) + return $text; + + $nls = array( "\r\n", "\r", "\n" ); + + if ( ! in_array( $to, $nls ) ) + return $text; + + return str_replace( $nls, $to, $text ); +} + +function wpcf7_normalize_newline_deep( $arr, $to = "\n" ) { + if ( is_array( $arr ) ) { + $result = array(); + + foreach ( $arr as $key => $text ) + $result[$key] = wpcf7_normalize_newline_deep( $text, $to ); + + return $result; + } + + return wpcf7_normalize_newline( $arr, $to ); +} + +function wpcf7_strip_newline( $str ) { + $str = (string) $str; + $str = str_replace( array( "\r", "\n" ), '', $str ); + return trim( $str ); +} + +function wpcf7_canonicalize( $text ) { + if ( function_exists( 'mb_convert_kana' ) && 'UTF-8' == get_option( 'blog_charset' ) ) + $text = mb_convert_kana( $text, 'asKV', 'UTF-8' ); + + $text = strtolower( $text ); + $text = trim( $text ); + return $text; +} + +function wpcf7_is_name( $string ) { + // See http://www.w3.org/TR/html401/types.html#h-6.2 + // ID and NAME tokens must begin with a letter ([A-Za-z]) + // and may be followed by any number of letters, digits ([0-9]), + // hyphens ("-"), underscores ("_"), colons (":"), and periods ("."). + + return preg_match( '/^[A-Za-z][-A-Za-z0-9_:.]*$/', $string ); +} + +function wpcf7_sanitize_unit_tag( $tag ) { + $tag = preg_replace( '/[^A-Za-z0-9_-]/', '', $tag ); + return $tag; +} + +function wpcf7_is_email( $email ) { + $result = is_email( $email ); + return apply_filters( 'wpcf7_is_email', $result, $email ); +} + +function wpcf7_is_url( $url ) { + $result = ( false !== filter_var( $url, FILTER_VALIDATE_URL ) ); + return apply_filters( 'wpcf7_is_url', $result, $url ); +} + +function wpcf7_is_tel( $tel ) { + $result = preg_match( '/^[+]?[0-9() -]*$/', $tel ); + return apply_filters( 'wpcf7_is_tel', $result, $tel ); +} + +function wpcf7_is_number( $number ) { + $result = is_numeric( $number ); + return apply_filters( 'wpcf7_is_number', $result, $number ); +} + +function wpcf7_is_date( $date ) { + $result = preg_match( '/^([0-9]{4,})-([0-9]{2})-([0-9]{2})$/', $date, $matches ); + + if ( $result ) + $result = checkdate( $matches[2], $matches[3], $matches[1] ); + + return apply_filters( 'wpcf7_is_date', $result, $date ); +} + +function wpcf7_antiscript_file_name( $filename ) { + $filename = basename( $filename ); + $parts = explode( '.', $filename ); + + if ( count( $parts ) < 2 ) + return $filename; + + $script_pattern = '/^(php|phtml|pl|py|rb|cgi|asp|aspx)\d?$/i'; + + $filename = array_shift( $parts ); + $extension = array_pop( $parts ); + + foreach ( (array) $parts as $part ) { + if ( preg_match( $script_pattern, $part ) ) + $filename .= '.' . $part . '_'; + else + $filename .= '.' . $part; + } + + if ( preg_match( $script_pattern, $extension ) ) + $filename .= '.' . $extension . '_.txt'; + else + $filename .= '.' . $extension; + + return $filename; +} + +?> \ No newline at end of file diff --git a/wp-content/plugins/contact-form-7/includes/functions.php b/wp-content/plugins/contact-form-7/includes/functions.php new file mode 100644 index 0000000..e946d5d --- /dev/null +++ b/wp-content/plugins/contact-form-7/includes/functions.php @@ -0,0 +1,392 @@ + $uploads['basedir'], + 'url' => $uploads['baseurl'] ) ); + + if ( 'dir' == $type ) + return $uploads['dir']; + if ( 'url' == $type ) + return $uploads['url']; + + return $uploads; +} + +function wpcf7_l10n() { + static $l10n = array(); + + if ( ! empty( $l10n ) ) { + return $l10n; + } + + $l10n = array( + 'af' => __( 'Afrikaans', 'contact-form-7' ), + 'sq' => __( 'Albanian', 'contact-form-7' ), + 'ar' => __( 'Arabic', 'contact-form-7' ), + 'hy_AM' => __( 'Armenian', 'contact-form-7' ), + 'az_AZ' => __( 'Azerbaijani', 'contact-form-7' ), + 'bn_BD' => __( 'Bangla', 'contact-form-7' ), + 'eu' => __( 'Basque', 'contact-form-7' ), + 'be_BY' => __( 'Belarusian', 'contact-form-7' ), + 'bs' => __( 'Bosnian', 'contact-form-7' ), + 'pt_BR' => __( 'Brazilian Portuguese', 'contact-form-7' ), + 'bg_BG' => __( 'Bulgarian', 'contact-form-7' ), + 'ca' => __( 'Catalan', 'contact-form-7' ), + 'ckb' => __( 'Central Kurdish', 'contact-form-7' ), + 'zh_CN' => __( 'Chinese (Simplified)', 'contact-form-7' ), + 'zh_TW' => __( 'Chinese (Traditional)', 'contact-form-7' ), + 'hr' => __( 'Croatian', 'contact-form-7' ), + 'cs_CZ' => __( 'Czech', 'contact-form-7' ), + 'da_DK' => __( 'Danish', 'contact-form-7' ), + 'nl_NL' => __( 'Dutch', 'contact-form-7' ), + 'en_US' => __( 'English', 'contact-form-7' ), + 'eo_EO' => __( 'Esperanto', 'contact-form-7' ), + 'et' => __( 'Estonian', 'contact-form-7' ), + 'fi' => __( 'Finnish', 'contact-form-7' ), + 'fr_FR' => __( 'French', 'contact-form-7' ), + 'gl_ES' => __( 'Galician', 'contact-form-7' ), + 'gu_IN' => __( 'Gujarati', 'contact-form-7' ), + 'ka_GE' => __( 'Georgian', 'contact-form-7' ), + 'de_DE' => __( 'German', 'contact-form-7' ), + 'el' => __( 'Greek', 'contact-form-7' ), + 'ht' => __( 'Haitian', 'contact-form-7' ), + 'he_IL' => __( 'Hebrew', 'contact-form-7' ), + 'hi_IN' => __( 'Hindi', 'contact-form-7' ), + 'hu_HU' => __( 'Hungarian', 'contact-form-7' ), + 'bn_IN' => __( 'Indian Bengali', 'contact-form-7' ), + 'id_ID' => __( 'Indonesian', 'contact-form-7' ), + 'ga_IE' => __( 'Irish', 'contact-form-7' ), + 'it_IT' => __( 'Italian', 'contact-form-7' ), + 'ja' => __( 'Japanese', 'contact-form-7' ), + 'ko_KR' => __( 'Korean', 'contact-form-7' ), + 'lv' => __( 'Latvian', 'contact-form-7' ), + 'lt_LT' => __( 'Lithuanian', 'contact-form-7' ), + 'mk_MK' => __( 'Macedonian', 'contact-form-7' ), + 'ms_MY' => __( 'Malay', 'contact-form-7' ), + 'ml_IN' => __( 'Malayalam', 'contact-form-7' ), + 'mt_MT' => __( 'Maltese', 'contact-form-7' ), + 'nb_NO' => __( 'Norwegian', 'contact-form-7' ), + 'fa_IR' => __( 'Persian', 'contact-form-7' ), + 'pl_PL' => __( 'Polish', 'contact-form-7' ), + 'pt_PT' => __( 'Portuguese', 'contact-form-7' ), + 'pa_IN' => __( 'Punjabi', 'contact-form-7' ), + 'ru_RU' => __( 'Russian', 'contact-form-7' ), + 'ro_RO' => __( 'Romanian', 'contact-form-7' ), + 'sr_RS' => __( 'Serbian', 'contact-form-7' ), + 'si_LK' => __( 'Sinhala', 'contact-form-7' ), + 'sk_SK' => __( 'Slovak', 'contact-form-7' ), + 'sl_SI' => __( 'Slovene', 'contact-form-7' ), + 'es_ES' => __( 'Spanish', 'contact-form-7' ), + 'sv_SE' => __( 'Swedish', 'contact-form-7' ), + 'ta' => __( 'Tamil', 'contact-form-7' ), + 'th' => __( 'Thai', 'contact-form-7' ), + 'tl' => __( 'Tagalog', 'contact-form-7' ), + 'tr_TR' => __( 'Turkish', 'contact-form-7' ), + 'uk' => __( 'Ukrainian', 'contact-form-7' ), + 'vi' => __( 'Vietnamese', 'contact-form-7' ) + ); + + return $l10n; +} + +function wpcf7_is_valid_locale( $locale ) { + $l10n = wpcf7_l10n(); + return isset( $l10n[$locale] ); +} + +function wpcf7_is_rtl( $locale = '' ) { + if ( empty( $locale ) ) { + return function_exists( 'is_rtl' ) ? is_rtl() : false; + } + + $rtl_locales = array( + 'ar' => 'Arabic', + 'he_IL' => 'Hebrew', + 'fa_IR' => 'Persian' ); + + return isset( $rtl_locales[$locale] ); +} + +function wpcf7_ajax_loader() { + $url = wpcf7_plugin_url( 'images/ajax-loader.gif' ); + + if ( is_ssl() && 'http:' == substr( $url, 0, 5 ) ) + $url = 'https:' . substr( $url, 5 ); + + return apply_filters( 'wpcf7_ajax_loader', $url ); +} + +function wpcf7_verify_nonce( $nonce, $action = -1 ) { + if ( substr( wp_hash( $action, 'nonce' ), -12, 10 ) == $nonce ) + return true; + + return false; +} + +function wpcf7_create_nonce( $action = -1 ) { + return substr( wp_hash( $action, 'nonce' ), -12, 10 ); +} + +function wpcf7_blacklist_check( $target ) { + $mod_keys = trim( get_option( 'blacklist_keys' ) ); + + if ( empty( $mod_keys ) ) + return false; + + $words = explode( "\n", $mod_keys ); + + foreach ( (array) $words as $word ) { + $word = trim( $word ); + + if ( empty( $word ) ) + continue; + + if ( preg_match( '#' . preg_quote( $word, '#' ) . '#', $target ) ) + return true; + } + + return false; +} + +function wpcf7_array_flatten( $input ) { + if ( ! is_array( $input ) ) + return array( $input ); + + $output = array(); + + foreach ( $input as $value ) + $output = array_merge( $output, wpcf7_array_flatten( $value ) ); + + return $output; +} + +function wpcf7_flat_join( $input ) { + $input = wpcf7_array_flatten( $input ); + $output = array(); + + foreach ( (array) $input as $value ) + $output[] = trim( (string) $value ); + + return implode( ', ', $output ); +} + +function wpcf7_support_html5() { + return (bool) apply_filters( 'wpcf7_support_html5', true ); +} + +function wpcf7_support_html5_fallback() { + return (bool) apply_filters( 'wpcf7_support_html5_fallback', false ); +} + +function wpcf7_load_js() { + return apply_filters( 'wpcf7_load_js', WPCF7_LOAD_JS ); +} + +function wpcf7_load_css() { + return apply_filters( 'wpcf7_load_css', WPCF7_LOAD_CSS ); +} + +function wpcf7_format_atts( $atts ) { + $html = ''; + + $prioritized_atts = array( 'type', 'name', 'value' ); + + foreach ( $prioritized_atts as $att ) { + if ( isset( $atts[$att] ) ) { + $value = trim( $atts[$att] ); + $html .= sprintf( ' %s="%s"', $att, esc_attr( $value ) ); + unset( $atts[$att] ); + } + } + + foreach ( $atts as $key => $value ) { + $value = trim( $value ); + + if ( '' !== $value ) { + $html .= sprintf( ' %s="%s"', $key, esc_attr( $value ) ); + } + } + + $html = trim( $html ); + + return $html; +} + +function wpcf7_load_textdomain( $locale = null ) { + global $l10n; + + $domain = 'contact-form-7'; + + if ( get_locale() == $locale ) { + $locale = null; + } + + if ( empty( $locale ) ) { + if ( is_textdomain_loaded( $domain ) ) { + return true; + } else { + return load_plugin_textdomain( $domain, false, $domain . '/languages' ); + } + } else { + $mo_orig = $l10n[$domain]; + unload_textdomain( $domain ); + + $mofile = $domain . '-' . $locale . '.mo'; + $path = WP_PLUGIN_DIR . '/' . $domain . '/languages'; + + if ( $loaded = load_textdomain( $domain, $path . '/'. $mofile ) ) { + return $loaded; + } else { + $mofile = WP_LANG_DIR . '/plugins/' . $mofile; + return load_textdomain( $domain, $mofile ); + } + + $l10n[$domain] = $mo_orig; + } + + return false; +} + +function wpcf7_load_modules() { + $dir = WPCF7_PLUGIN_MODULES_DIR; + + if ( empty( $dir ) || ! is_dir( $dir ) ) { + return false; + } + + $mods = array( + 'acceptance', 'flamingo', + 'akismet', 'jetpack', 'submit', 'captcha', 'number', + 'text', 'checkbox', 'quiz', 'textarea', 'date', + 'response', 'file', 'select', 'listo' ); + + foreach ( $mods as $mod ) { + $file = trailingslashit( $dir ) . $mod . '.php'; + + if ( file_exists( $file ) ) { + include_once $file; + } + } +} + +function wpcf7_get_request_uri() { + static $request_uri = ''; + + if ( empty( $request_uri ) ) { + $request_uri = add_query_arg( array() ); + } + + return esc_url_raw( $request_uri ); +} + +function wpcf7_register_post_types() { + if ( class_exists( 'WPCF7_ContactForm' ) ) { + WPCF7_ContactForm::register_post_type(); + return true; + } else { + return false; + } +} + +function wpcf7_version( $args = '' ) { + $defaults = array( + 'limit' => -1, + 'only_major' => false ); + + $args = wp_parse_args( $args, $defaults ); + + if ( $args['only_major'] ) { + $args['limit'] = 2; + } + + $args['limit'] = (int) $args['limit']; + + $ver = WPCF7_VERSION; + $ver = strtr( $ver, '_-+', '...' ); + $ver = preg_replace( '/[^0-9.]+/', ".$0.", $ver ); + $ver = preg_replace( '/[.]+/', ".", $ver ); + $ver = trim( $ver, '.' ); + $ver = explode( '.', $ver ); + + if ( -1 < $args['limit'] ) { + $ver = array_slice( $ver, 0, $args['limit'] ); + } + + $ver = implode( '.', $ver ); + + return $ver; +} + +function wpcf7_version_grep( $version, array $input ) { + $pattern = '/^' . preg_quote( (string) $version, '/' ) . '(?:\.|$)/'; + + return preg_grep( $pattern, $input ); +} + +function wpcf7_enctype_value( $enctype ) { + $enctype = trim( $enctype ); + + if ( empty( $enctype ) ) { + return ''; + } + + $valid_enctypes = array( + 'application/x-www-form-urlencoded', + 'multipart/form-data', + 'text/plain' ); + + if ( in_array( $enctype, $valid_enctypes ) ) { + return $enctype; + } + + $pattern = '%^enctype="(' . implode( '|', $valid_enctypes ) . ')"$%'; + + if ( preg_match( $pattern, $enctype, $matches ) ) { + return $matches[1]; // for back-compat + } + + return ''; +} + +function wpcf7_rmdir_p( $dir ) { + if ( is_file( $dir ) ) { + @unlink( $dir ); + return true; + } + + if ( ! is_dir( $dir ) ) { + return false; + } + + if ( $handle = @opendir( $dir ) ) { + while ( false !== ( $file = readdir( $handle ) ) ) { + if ( $file == "." || $file == ".." ) { + continue; + } + + wpcf7_rmdir_p( path_join( $dir, $file ) ); + } + + closedir( $handle ); + } + + return @rmdir( $dir ); +} + +?> \ No newline at end of file diff --git a/wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/images/animated-overlay.gif b/wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/images/animated-overlay.gif new file mode 100644 index 0000000000000000000000000000000000000000..d441f75ebfbdf26a265dfccd670120d25c0a341c GIT binary patch literal 1738 zcmZ|OX;ji_6b5ixNYt8>l?gOuO)6lU%W(mxn(`>1S(XO;u`D+P%xqBvMr|w-Vyr1s z7R|Cn0b8|Hu<=Zmv1mFqh9Fj!NuZfKB2MP$e75`XJ@>=!y!Ux9xR3x;EW!q1^V>X| znVFuRUN`NqJ2)ybXh%e__h!!pv(M|S3+?9F%(K}zyE40MGyhWF5-IDgL&=%2-9`Nk z!1@8uk4t%_{(K~>N;sK&dzJbwJ=$kYTlL=$%#0Pfh>U{%i@~wWbvYsD_K-D`&+u1( z#Ma`>%q<^UhzGvi(hyE`zCD{-=2|zL5>wnB=DE!U?(CZG%q4@lDnCq_%&3DCla#(X zmBhDD+RN$aMWWHm?ig*>1Onn6~r?Ma~N2JKAxN>H%UtRyRqS)6Um!-Tz%-r=& zQmTb^JFIe3W^-kAm`}`2P|niMh>RYyd)S^f(dbrx965?rzbhP|XeP}o&&DSZ4|oYQ z)I{f!SfycYw?3=9W;o-B%U5xs(pP267X~9-7L|4WzaYexC0GtG8wWygm63rF{llCEraxzkc=IxvFQ-y37=_;e5 zJLq^gsSO0Ayz?a>E_?{dmUc+t#qv$)XN8$<<}rQ#)lsiw+pmL&J>~+hgpo>i$m+;l zZIa_ZRIfSeT$~v5d`EBV&*k`apPgjv&B|+d`Q!nyu{L4rs%ZfoF0*Kq8I%ByOcFpL zK=>wzofZo<+0GZLCnWM3oQ^pb(gRSf02;~cEn@LJ>~XB9IkEX{$N#Z`m%>S!U{uPx zloI%bLdo$Adxlh(Uv^yX7s5G&C zLwNRG>~T?G{kzupp8EcyLGPoPf)@&9Wqfw_l&uU-6cexk%5;uQg%wb=0k_733{i#& z1a2p)gV3S2+QG1-K9tZ}E~I<(P0r2aFFY-c{o?TUOz3Xjod#TLE2A_c?*T7t z=1>~%YW450{Qqno4t`}gvLnuMrcu8+#xEBoY%2_+Mb#Z6S38+r*M4O`-+!zl(@m`D zQsi|GA2l3gEy}LFe<#Hv8?$_L#u8E|3-bP$*La*E>B{X!Sy4i6?TKam!49aXCAW4S*P_O^H4^*DpiA40o}Uqw~Eo&veh1`|8i zD2$x+>_b^bXE4N;AW=5>iYak2%!JAh0j1*k1{p#iRCjbB7!cSws~U{1IA@acLII$t z$>X#A+^s6iJ5~DFG!xa?>z{=lxtdi1rzbM-(nqAu3D8h-&64xo6|E!p?pK0xT;qoK z`6%+SpBk+~M?nO}>2mTw!A{yZ6O>Z@kwSd4;8aWU5z!P~tQl?u==^+R`{OmOS}oZh zOXQ3{6kuz?Is^n^L7;9ieB9C+8B{>t+pDrlq4xGDDn#T#3T5$l1g`FTQkU;b-981j zNm{zC`$wn7etklM#qHI4=3m5gwa6DNS{?Z!vSObi_od{4eUo=_S2BKNpkSdiqe(k9WtkeM79;2-%CFbb)aB=&H1?i1}uwFzoZQ(38Kn1zBP ORn*B%u*Wk|4g3!*Rv{Mv literal 0 HcmV?d00001 diff --git a/wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png b/wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png new file mode 100644 index 0000000000000000000000000000000000000000..4743d097e113d529cde4bf0d631f58628f9efd06 GIT binary patch literal 212 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F1SA+{?>A)!QcOwS?k)_>#w|r1Kptm-M`SUO z_5fqIli7AahM1>|V~EA+ zRdP`(kYX@0Ff`URFx53M4l%H_GBUI>0CLT(3=HJtF19nO2EgL%wrXC{P1~ Mr>mdKI;Vst0DurO>;M1& literal 0 HcmV?d00001 diff --git a/wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/images/ui-bg_flat_75_ffffff_40x100.png b/wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/images/ui-bg_flat_75_ffffff_40x100.png new file mode 100644 index 0000000000000000000000000000000000000000..ca779e35d80700d99e6bb5b54d9dbabf46827fce GIT binary patch literal 208 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F2qYNp$opRhQcOwS?k)_Bce{j_0C}7R9+AaB z+5?Q;PG;Ky8A6^ejv*T7lYj6t@hpC#;TbB#aBAWwna#KLs)4eqC9V-ADTyViR>?)F zK#IZ0z|dINz*N`3IK;rx%E-{l0LV4BGBA*nyYv!8LvDUbW?Cg~4f)Plp+F4`p00i_ I>zopr0Mg7e&;S4c literal 0 HcmV?d00001 diff --git a/wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png b/wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..664038172ae06863108ee1731aac596863b44933 GIT binary patch literal 335 zcmeAS@N?(olHy`uVBq!ia0vp^j6gI&fCnc6a#?2AmP!?*K(O3p^r= zfwTu0yPeFo12TF&T^vI^j=w#x$i?I+((tf;UXnmgbH|3oY>pC!)f}(GR!16S-u+#{ ze6YEqRkW=8vGl=5qArKM<9}TC-}iEvB{zdaTcX5$wyRTK&AL=aP literal 0 HcmV?d00001 diff --git a/wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/images/ui-bg_glass_65_ffffff_1x400.png b/wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/images/ui-bg_glass_65_ffffff_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..d3277b5e96a47e3e8364682d3ea30abb3cb1d7fc GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^j6gI2NH8$CE1Q=ADW)WEcNYf6yIsOdfIQ9ukH}&m z?E%JaC$sH<3_(v9#}JM4$r%X}t&0mp9yKsb%{ak$*<@oTP*SzTHKHUXu_VKYh_7+6{v8Cn?tx#m^|26A$jUZQBo%}>cptHiA#-#IH3sDZ)L)z4*} HQ$iB}@Gmlq literal 0 HcmV?d00001 diff --git a/wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/images/ui-bg_glass_75_dadada_1x400.png b/wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/images/ui-bg_glass_75_dadada_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..7eda20a5976a72088b0706f05ed49f5a5e04ca53 GIT binary patch literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^j6gI&0LWmFTHNUZq?nSt-Ch3w7g=q17Rci)@Q5r1 z(jH*!b~4)z#PD=+46!(!T=8puqDZgOs>RXUCGx5b?-VBQkUm|IuXOmYJrBRJgj{Vx zMbNnqUkncy+qa2-mWYc>swkcIuvGK#>(0d)B7)5f`@$Ei28nH~0h*~=;u=wsl30>z zm0Xkxq!^4042^XSOmz*6Lkujfj0~*|fLwDc0|Pm^OD|D0>h M>FVdQ&MBb@07$@1(*OVf literal 0 HcmV?d00001 diff --git a/wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png b/wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..f4d86b963e90b5663fd2c3e9f88f4641a06928ba GIT binary patch literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^j6gI&0LWmFTHNUZq?nSt-Ch3w7g=q17Rci)@Q5r1 z(jH*!b~4)z#PD=+46!(!TrvH)L6@80)r*_cdCvDr%)6ghVL16=s@mbz7H!uRdGeDa z?kzLg)16i!f8fKx84s0>4 NJYD@<);T3K0RWT_P2m6l literal 0 HcmV?d00001 diff --git a/wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png b/wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..8500938dc41e87842f06c8f93b5836033feff799 GIT binary patch literal 332 zcmeAS@N?(olHy`uVBq!ia0vp^j6gI&fCnc6a#?2AmP!?*K(O3p^r= zfwTu0yPeFo12VciT^vI^j=w#>k(V)1qW$CZ|6)SVV-&*#dav<$DMuV&n0Dbpw@aKYh_7+6{v8Cn?tx#m^|26A$j fUZQBo%}>cptHiA#-#IH3sDZ)L)z4*}Q$iB}rK@tt literal 0 HcmV?d00001 diff --git a/wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png new file mode 100644 index 0000000000000000000000000000000000000000..4795f6973736b7afc605ea3fed919b0d8a3f7f8f GIT binary patch literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^j6j?s03;ZUuHXC*q?nSt-Ch3w7g=q17Rci)@Q5r1 z(jH*!b~4)z$cXZEaSV~ToLo`U+vu0Ue0cG9p8hWqa?gxxGLm=1A1u)Cewe3oSeCaf zI$k30UHXoTXA5lSJe(zTcE%W-S*bfB&J`pw9sa4-R?IGW?p~6`>jMSP&M+u3 zY@9al)zrvpHlQu4C9V-ADTyViR>?)FK#IZ0z|dINz*N`3IK;rx%E-{l0LV4BGBA*n gyYv!8LvDUbW?Cg~4f)Plp+F4`p00i_>zopr03Lo>x&QzG literal 0 HcmV?d00001 diff --git a/wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/images/ui-icons_222222_256x240.png b/wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/images/ui-icons_222222_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..c7dab3120628e3bbddb13c20d5bd8de65453ec9d GIT binary patch literal 6922 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/images/ui-icons_2e83ff_256x240.png b/wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/images/ui-icons_2e83ff_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..e04e87a76bffb4c17567ba3644110e6bcaf6c05d GIT binary patch literal 4549 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 SbyYpv1kgho=~QW99{mSlO>;s3 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/images/ui-icons_454545_256x240.png b/wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/images/ui-icons_454545_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..825ce7bf07b540a90293f33df26df989a7de0194 GIT binary patch literal 6992 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 oVd`QDkhE|zvwR`%U}|ltVQFgNKIL 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

V!T_&rd;JYiPuu%;64f>|fg{|k! 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/images/ui-icons_cd0a0a_256x240.png b/wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/images/ui-icons_cd0a0a_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..b13299903c2de9d0bcc91d4dcaa81a7258ae4d92 GIT binary patch literal 4549 zcmeHK2U8PFw@yL`geFb85=9ZDg(e+B35H&!^Ae<}^d=|-2vU_UML6ilm zz%v)HO;2++PwD9&oh`7K8d@Up3=IE2{;Pl-K6vd+Alo2wV+#N;t1Ot_wBu2()a6_L z2zN9ehs+T3B~>mhlmYCbozOLD3-MUFcx<=Fr{P{jq(EEq2TWx{Nz&``H-dGd6kvhb zl`RGch$i*l+nM@>HQsYCZn|jrMyB6ALj3dVED7+o!A%`N0__FVSpfAz*#@53KRybe z+wZ9k0GxBx)6uki@NL79(S_K^2I)t=Udegt_}+k{?Cpf>=bu-K2qPOCn>6T3+IkCAWkOK*Gh*xKRnnwJ zCsX-QH@lWNE2kmoZdg)KRvt+RPzBnyM0}RgVDVrd11SNa-l^%vH83G;!DlgaZU&GS zz0p)j(pzF;cuI6?kqDf}*WZFO{xmA)&aqGU%@D}AEr))&&6L+f z!o-c7bEu&&7&VVcE;MrfonFsmJ`42kid*#ezO@fWSy8hsked62=a3lH|h0fzzC zgFel)hGSF!o~DIz+k)R$(_KlnLxj#O_Zl1#VDP#l!XB#r$VOQ#=^n0<<|%zjPn?<6 zMJ1raWB#$>ZZ~>1+%+t&M)NSpgv+8+St0kG%sT?8{lqr#fzc;oR198={zo=}BFtA^ zlo;Bn?(n>1cAv`GS24Ia0pSD`{E*@xNJNn-p}+~8prKh%eP*3ly~!;upK@A@h%;KNee5O`ZtT%b|s$9g*RTTPnv z3adE1l|4)%bF;}Ea4pyN&)k*z#8_yp0`4JHLEjzt?m1xXo3c|;$UlGyS`;@l7#JpH z@06hW?&Q|@3DgpWRBTM5g%F&cQ6`QZ}o168uyKTS~~oDl5+SO zSnhjiBDRN}Ww$hJUbMi+J|FUw;dH1L$-r*FXxq#5LQ0EgcJ(O)$@MjWBqH#ZmP}H(~Jyb-FN_wf$64$&*M*ev? z2j61r6J2+I6F+FvHO-}~v7yLIx(z&CjgpLJgojvJ6_7j^qa4!<;c9hSN$)3xOr7{?- z$E95L=H@rxp2C4_A_Dt#k!jta<%rn0&C%uIAXgVazjJ<(UPIQ1G_Fq5UG8TM(G_)= z>hkI4kwvQ(`luLA3ULcYV+o@hmq)`2&-K$omlGw)H~(B=THJNO^DoKk*+3i#J=RX;WOm?V5BLfz-F0F1i{1zb)F7u{rxH{|%Z!M6~jdsR{7iDq~xrGtXxDp0~ZBTVq{=Q<=h>f(3XkLS32Euyg7(zWpzOgCDwHV-$_fM> zFoQHJQdm%0?1rduM8>uY?K4^&=ZN4fe>Dieqi}To$IhOM5pI<3xI>1%IdF-EcyTMc zAE=N0Le)0J-ZO{o(;1sRDW#B79uYt+S*vihv0Z@eJ*ouoHAe2E)%h~UOh?kD<1}ry z)<2-5*@CpJ8Yk2l`JnyW4EV|dR`uzXcqoH2XTMOQ4PMiM|!~ z^QVAesqYN#JPT7Oql20T0xH5Q(sPjJmdJhqqt;ur(h~DdyXIaA<;|+#pRy?(po&>G zG3ivPVMY_lsI(Qo-)0Y=hmIxOubt_g+O;caTC%F{Kkcn!?YOid+V)$X*ZV?-_D*B+ z{;&)lXZSGv&JicAN?reM`$YOX^YoP;sUFsC&WM64gjJs5u&{MCsW;%hnjJI4;!w#( zyV|Yk&%flunYMG5YXnL--gNBXiOULaRc?#Ch@Tsn1p1f?*96Ax@OwtfHL`YaEY1H` z{D3b>mON{ zcT1NGFVd#b3gBLTFY-wn6Eyl7D?yT)=lEr8plqoT3GEe6RDwqrJ)pCacnDio#Xky;2{9$|8m%4I`P+R4$i5ciPNUq}hT8y`1( zg{6inui0>yyNRnuRJpkwZ(z!@0Gfpd^d((tqEOeT$7VC=aBfrkq?k&B@=fC>yMvFG zhiMKu*Q5#}MB_V-o|)K#T&X5%OR~r%FIM?$wqLJk{GwT|S4j7s1N_L~wu}tr=NvDU z%y+1!pO*Z#8Oo?w@?Q#eH)6O|WOxF>ZrEcyR`W3m>E{J2x`0hv08B>ky6q z8bt0w^<^ZzeYkusG4gS)ydR~zJM{pM%Uimi66G|o8UUsYVc`P z1C`TatOxK_4sSZF;7-pJrA;Pd`VB%c7%x^+r?0ESk9(GO;=LZ&sPtjS_3r~z=|AKc z-?0|}_w#H!szJt>L@10x0*)021yn1xEP)*8*0^wb z7;4ay+Wd<~JPeFyv$7jZv`o$%em)kdp*K`>pKY<+%pk+iXvGa5m%JH)+w|XC9cN?b zrh8Jk_i&KM8%|W>J*zFFj23MwzLp77~gtFv!n zC&w?`Z1?21>0*DmEtn`P)Y!D^WxLa{?le;R;1#I67d-0$nr&1{Afk7L7>uCyp@nqi zOa}K&oI(dXbf({Men`AtR!!$=qJNI_n+S+sA?w6v=d(k;+c>ixRsd*8Pw6e6_Uaap zO1ec}Tm0BHHrIGRBweyLVrzk@BGera59Y-0OHPA1iw9|5lqoW=`3k}04NIr*s!Mm> zi^ei#4=(x@R9j6M0W|1Vr0y#~KF)H%*I_n%i2V`6if%C@oLFYXHaC_KmJ00F^$Z#b zd;PIYkwfV*9KB6AmW1_SwMph;4h^J#*`#Vyf|zjTZz(fND$Em+mV~QQ zqr=a%25|wgUI>sOgCXd3eItHxF@1HE2?A8i=Riaw)p^lAy%%BtZM-?`rpA$D$>P)@ zzvpXAIoMoeS#57zGoC6~%Lb&e!|8&Vynx*)Ku#4w8psF6?W2?nbF{kH88Yzi(G>Vk zmp)aie4#QNt_0SHScHn+QCJQO7!NGowumaY^C|IJHk}CHTucO2)B0hMO*i!l5VT=z zRW-yzv)6Cl?$q&I^+vIuWRFR#VxNh9jfty{r@B++`CI{$1(Vir{uDfAT_0jmP(JBe zyyv8^b^`Xwafm4#xiGJSJ!G@8XPA~+?U;-Rb+UtGIL^;5dB z;JdK@F!1WjywrpZ63y%?i0?@2D2}_q!Mj9);M5>vYO6??Tit8=Os0K67*8>NDtY&qHe$Au zZsa^dOd&QQRQ_-tRKpU#vm2D{B$ZD5@@qAhBE_@8ra?V<2Paynr?-g$d+8FZLbqt| z!F^ZFrD4CH0!KWq7XXjL-c1Y?1nFQ?4x~q@t!-tRidudNEFtO+jQ>3 z_{Sb?N3a$+v^5iUR3Xl5({L1BI80{)X>ey9i{`mdj2+n299KqtA+NwZOBGIgwDisJiVmd<(=vsoCIR#ZFLHrw}8c7R1WTiLOqP0F|yD_ayI;S1Zq1<9#&< zX%pn?9OS0#65w`b05WiCSqZqj1YFhLobK_SioZU9YJ-`j35J#XhbZsu;zt`GhD S-Biyu0rZf@I@Ma}NB;qzD=Mx4 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/jquery-ui.css b/wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/jquery-ui.css new file mode 100644 index 0000000..572ed8a --- /dev/null +++ b/wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/jquery-ui.css @@ -0,0 +1,1177 @@ +/*! jQuery UI - v1.10.3 - 2013-05-03 +* http://jqueryui.com +* Includes: jquery.ui.core.css, jquery.ui.accordion.css, jquery.ui.autocomplete.css, jquery.ui.button.css, jquery.ui.datepicker.css, jquery.ui.dialog.css, jquery.ui.menu.css, jquery.ui.progressbar.css, jquery.ui.resizable.css, jquery.ui.selectable.css, jquery.ui.slider.css, jquery.ui.spinner.css, jquery.ui.tabs.css, jquery.ui.tooltip.css +* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=highlight_soft&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=flat&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=glass&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=glass&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=glass&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px +* Copyright 2013 jQuery Foundation and other contributors Licensed MIT */ + +/* Layout helpers +----------------------------------*/ +.ui-helper-hidden { + display: none; +} +.ui-helper-hidden-accessible { + border: 0; + clip: rect(0 0 0 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; +} +.ui-helper-reset { + margin: 0; + padding: 0; + border: 0; + outline: 0; + line-height: 1.3; + text-decoration: none; + font-size: 100%; + list-style: none; +} +.ui-helper-clearfix:before, +.ui-helper-clearfix:after { + content: ""; + display: table; + border-collapse: collapse; +} +.ui-helper-clearfix:after { + clear: both; +} +.ui-helper-clearfix { + min-height: 0; /* support: IE7 */ +} +.ui-helper-zfix { + width: 100%; + height: 100%; + top: 0; + left: 0; + position: absolute; + opacity: 0; + filter:Alpha(Opacity=0); +} + +.ui-front { + z-index: 100; +} + + +/* Interaction Cues +----------------------------------*/ +.ui-state-disabled { + cursor: default !important; +} + + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { + display: block; + text-indent: -99999px; + overflow: hidden; + background-repeat: no-repeat; +} + + +/* Misc visuals +----------------------------------*/ + +/* Overlays */ +.ui-widget-overlay { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; +} +.ui-accordion .ui-accordion-header { + display: block; + cursor: pointer; + position: relative; + margin-top: 2px; + padding: .5em .5em .5em .7em; + min-height: 0; /* support: IE7 */ +} +.ui-accordion .ui-accordion-icons { + padding-left: 2.2em; +} +.ui-accordion .ui-accordion-noicons { + padding-left: .7em; +} +.ui-accordion .ui-accordion-icons .ui-accordion-icons { + padding-left: 2.2em; +} +.ui-accordion .ui-accordion-header .ui-accordion-header-icon { + position: absolute; + left: .5em; + top: 50%; + margin-top: -8px; +} +.ui-accordion .ui-accordion-content { + padding: 1em 2.2em; + border-top: 0; + overflow: auto; +} +.ui-autocomplete { + position: absolute; + top: 0; + left: 0; + cursor: default; +} +.ui-button { + display: inline-block; + position: relative; + padding: 0; + line-height: normal; + margin-right: .1em; + cursor: pointer; + vertical-align: middle; + text-align: center; + overflow: visible; /* removes extra width in IE */ +} +.ui-button, +.ui-button:link, +.ui-button:visited, +.ui-button:hover, +.ui-button:active { + text-decoration: none; +} +/* to make room for the icon, a width needs to be set here */ +.ui-button-icon-only { + width: 2.2em; +} +/* button elements seem to need a little more width */ +button.ui-button-icon-only { + width: 2.4em; +} +.ui-button-icons-only { + width: 3.4em; +} +button.ui-button-icons-only { + width: 3.7em; +} + +/* button text element */ +.ui-button .ui-button-text { + display: block; + line-height: normal; +} +.ui-button-text-only .ui-button-text { + padding: .4em 1em; +} +.ui-button-icon-only .ui-button-text, +.ui-button-icons-only .ui-button-text { + padding: .4em; + text-indent: -9999999px; +} +.ui-button-text-icon-primary .ui-button-text, +.ui-button-text-icons .ui-button-text { + padding: .4em 1em .4em 2.1em; +} +.ui-button-text-icon-secondary .ui-button-text, +.ui-button-text-icons .ui-button-text { + padding: .4em 2.1em .4em 1em; +} +.ui-button-text-icons .ui-button-text { + padding-left: 2.1em; + padding-right: 2.1em; +} +/* no icon support for input elements, provide padding by default */ +input.ui-button { + padding: .4em 1em; +} + +/* button icon element(s) */ +.ui-button-icon-only .ui-icon, +.ui-button-text-icon-primary .ui-icon, +.ui-button-text-icon-secondary .ui-icon, +.ui-button-text-icons .ui-icon, +.ui-button-icons-only .ui-icon { + position: absolute; + top: 50%; + margin-top: -8px; +} +.ui-button-icon-only .ui-icon { + left: 50%; + margin-left: -8px; +} +.ui-button-text-icon-primary .ui-button-icon-primary, +.ui-button-text-icons .ui-button-icon-primary, +.ui-button-icons-only .ui-button-icon-primary { + left: .5em; +} +.ui-button-text-icon-secondary .ui-button-icon-secondary, +.ui-button-text-icons .ui-button-icon-secondary, +.ui-button-icons-only .ui-button-icon-secondary { + right: .5em; +} + +/* button sets */ +.ui-buttonset { + margin-right: 7px; +} +.ui-buttonset .ui-button { + margin-left: 0; + margin-right: -.3em; +} + +/* workarounds */ +/* reset extra padding in Firefox, see h5bp.com/l */ +input.ui-button::-moz-focus-inner, +button.ui-button::-moz-focus-inner { + border: 0; + padding: 0; +} +.ui-datepicker { + width: 17em; + padding: .2em .2em 0; + display: none; +} +.ui-datepicker .ui-datepicker-header { + position: relative; + padding: .2em 0; +} +.ui-datepicker .ui-datepicker-prev, +.ui-datepicker .ui-datepicker-next { + position: absolute; + top: 2px; + width: 1.8em; + height: 1.8em; +} +.ui-datepicker .ui-datepicker-prev-hover, +.ui-datepicker .ui-datepicker-next-hover { + top: 1px; +} +.ui-datepicker .ui-datepicker-prev { + left: 2px; +} +.ui-datepicker .ui-datepicker-next { + right: 2px; +} +.ui-datepicker .ui-datepicker-prev-hover { + left: 1px; +} +.ui-datepicker .ui-datepicker-next-hover { + right: 1px; +} +.ui-datepicker .ui-datepicker-prev span, +.ui-datepicker .ui-datepicker-next span { + display: block; + position: absolute; + left: 50%; + margin-left: -8px; + top: 50%; + margin-top: -8px; +} +.ui-datepicker .ui-datepicker-title { + margin: 0 2.3em; + line-height: 1.8em; + text-align: center; +} +.ui-datepicker .ui-datepicker-title select { + font-size: 1em; + margin: 1px 0; +} +.ui-datepicker select.ui-datepicker-month-year { + width: 100%; +} +.ui-datepicker select.ui-datepicker-month, +.ui-datepicker select.ui-datepicker-year { + width: 49%; +} +.ui-datepicker table { + width: 100%; + font-size: .9em; + border-collapse: collapse; + margin: 0 0 .4em; +} +.ui-datepicker th { + padding: .7em .3em; + text-align: center; + font-weight: bold; + border: 0; +} +.ui-datepicker td { + border: 0; + padding: 1px; +} +.ui-datepicker td span, +.ui-datepicker td a { + display: block; + padding: .2em; + text-align: right; + text-decoration: none; +} +.ui-datepicker .ui-datepicker-buttonpane { + background-image: none; + margin: .7em 0 0 0; + padding: 0 .2em; + border-left: 0; + border-right: 0; + border-bottom: 0; +} +.ui-datepicker .ui-datepicker-buttonpane button { + float: right; + margin: .5em .2em .4em; + cursor: pointer; + padding: .2em .6em .3em .6em; + width: auto; + overflow: visible; +} +.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { + float: left; +} + +/* with multiple calendars */ +.ui-datepicker.ui-datepicker-multi { + width: auto; +} +.ui-datepicker-multi .ui-datepicker-group { + float: left; +} +.ui-datepicker-multi .ui-datepicker-group table { + width: 95%; + margin: 0 auto .4em; +} +.ui-datepicker-multi-2 .ui-datepicker-group { + width: 50%; +} +.ui-datepicker-multi-3 .ui-datepicker-group { + width: 33.3%; +} +.ui-datepicker-multi-4 .ui-datepicker-group { + width: 25%; +} +.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header, +.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { + border-left-width: 0; +} +.ui-datepicker-multi .ui-datepicker-buttonpane { + clear: left; +} +.ui-datepicker-row-break { + clear: both; + width: 100%; + font-size: 0; +} + +/* RTL support */ +.ui-datepicker-rtl { + direction: rtl; +} +.ui-datepicker-rtl .ui-datepicker-prev { + right: 2px; + left: auto; +} +.ui-datepicker-rtl .ui-datepicker-next { + left: 2px; + right: auto; +} +.ui-datepicker-rtl .ui-datepicker-prev:hover { + right: 1px; + left: auto; +} +.ui-datepicker-rtl .ui-datepicker-next:hover { + left: 1px; + right: auto; +} +.ui-datepicker-rtl .ui-datepicker-buttonpane { + clear: right; +} +.ui-datepicker-rtl .ui-datepicker-buttonpane button { + float: left; +} +.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current, +.ui-datepicker-rtl .ui-datepicker-group { + float: right; +} +.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header, +.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { + border-right-width: 0; + border-left-width: 1px; +} +.ui-dialog { + position: absolute; + top: 0; + left: 0; + padding: .2em; + outline: 0; +} +.ui-dialog .ui-dialog-titlebar { + padding: .4em 1em; + position: relative; +} +.ui-dialog .ui-dialog-title { + float: left; + margin: .1em 0; + white-space: nowrap; + width: 90%; + overflow: hidden; + text-overflow: ellipsis; +} +.ui-dialog .ui-dialog-titlebar-close { + position: absolute; + right: .3em; + top: 50%; + width: 21px; + margin: -10px 0 0 0; + padding: 1px; + height: 20px; +} +.ui-dialog .ui-dialog-content { + position: relative; + border: 0; + padding: .5em 1em; + background: none; + overflow: auto; +} +.ui-dialog .ui-dialog-buttonpane { + text-align: left; + border-width: 1px 0 0 0; + background-image: none; + margin-top: .5em; + padding: .3em 1em .5em .4em; +} +.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { + float: right; +} +.ui-dialog .ui-dialog-buttonpane button { + margin: .5em .4em .5em 0; + cursor: pointer; +} +.ui-dialog .ui-resizable-se { + width: 12px; + height: 12px; + right: -5px; + bottom: -5px; + background-position: 16px 16px; +} +.ui-draggable .ui-dialog-titlebar { + cursor: move; +} +.ui-menu { + list-style: none; + padding: 2px; + margin: 0; + display: block; + outline: none; +} +.ui-menu .ui-menu { + margin-top: -3px; + position: absolute; +} +.ui-menu .ui-menu-item { + margin: 0; + padding: 0; + width: 100%; + /* support: IE10, see #8844 */ + list-style-image: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); +} +.ui-menu .ui-menu-divider { + margin: 5px -2px 5px -2px; + height: 0; + font-size: 0; + line-height: 0; + border-width: 1px 0 0 0; +} +.ui-menu .ui-menu-item a { + text-decoration: none; + display: block; + padding: 2px .4em; + line-height: 1.5; + min-height: 0; /* support: IE7 */ + font-weight: normal; +} +.ui-menu .ui-menu-item a.ui-state-focus, +.ui-menu .ui-menu-item a.ui-state-active { + font-weight: normal; + margin: -1px; +} + +.ui-menu .ui-state-disabled { + font-weight: normal; + margin: .4em 0 .2em; + line-height: 1.5; +} +.ui-menu .ui-state-disabled a { + cursor: default; +} + +/* icon support */ +.ui-menu-icons { + position: relative; +} +.ui-menu-icons .ui-menu-item a { + position: relative; + padding-left: 2em; +} + +/* left-aligned */ +.ui-menu .ui-icon { + position: absolute; + top: .2em; + left: .2em; +} + +/* right-aligned */ +.ui-menu .ui-menu-icon { + position: static; + float: right; +} +.ui-progressbar { + height: 2em; + text-align: left; + overflow: hidden; +} +.ui-progressbar .ui-progressbar-value { + margin: -1px; + height: 100%; +} +.ui-progressbar .ui-progressbar-overlay { + background: url("images/animated-overlay.gif"); + height: 100%; + filter: alpha(opacity=25); + opacity: 0.25; +} +.ui-progressbar-indeterminate .ui-progressbar-value { + background-image: none; +} +.ui-resizable { + position: relative; +} +.ui-resizable-handle { + position: absolute; + font-size: 0.1px; + display: block; +} +.ui-resizable-disabled .ui-resizable-handle, +.ui-resizable-autohide .ui-resizable-handle { + display: none; +} +.ui-resizable-n { + cursor: n-resize; + height: 7px; + width: 100%; + top: -5px; + left: 0; +} +.ui-resizable-s { + cursor: s-resize; + height: 7px; + width: 100%; + bottom: -5px; + left: 0; +} +.ui-resizable-e { + cursor: e-resize; + width: 7px; + right: -5px; + top: 0; + height: 100%; +} +.ui-resizable-w { + cursor: w-resize; + width: 7px; + left: -5px; + top: 0; + height: 100%; +} +.ui-resizable-se { + cursor: se-resize; + width: 12px; + height: 12px; + right: 1px; + bottom: 1px; +} +.ui-resizable-sw { + cursor: sw-resize; + width: 9px; + height: 9px; + left: -5px; + bottom: -5px; +} +.ui-resizable-nw { + cursor: nw-resize; + width: 9px; + height: 9px; + left: -5px; + top: -5px; +} +.ui-resizable-ne { + cursor: ne-resize; + width: 9px; + height: 9px; + right: -5px; + top: -5px; +} +.ui-selectable-helper { + position: absolute; + z-index: 100; + border: 1px dotted black; +} +.ui-slider { + position: relative; + text-align: left; +} +.ui-slider .ui-slider-handle { + position: absolute; + z-index: 2; + width: 1.2em; + height: 1.2em; + cursor: default; +} +.ui-slider .ui-slider-range { + position: absolute; + z-index: 1; + font-size: .7em; + display: block; + border: 0; + background-position: 0 0; +} + +/* For IE8 - See #6727 */ +.ui-slider.ui-state-disabled .ui-slider-handle, +.ui-slider.ui-state-disabled .ui-slider-range { + filter: inherit; +} + +.ui-slider-horizontal { + height: .8em; +} +.ui-slider-horizontal .ui-slider-handle { + top: -.3em; + margin-left: -.6em; +} +.ui-slider-horizontal .ui-slider-range { + top: 0; + height: 100%; +} +.ui-slider-horizontal .ui-slider-range-min { + left: 0; +} +.ui-slider-horizontal .ui-slider-range-max { + right: 0; +} + +.ui-slider-vertical { + width: .8em; + height: 100px; +} +.ui-slider-vertical .ui-slider-handle { + left: -.3em; + margin-left: 0; + margin-bottom: -.6em; +} +.ui-slider-vertical .ui-slider-range { + left: 0; + width: 100%; +} +.ui-slider-vertical .ui-slider-range-min { + bottom: 0; +} +.ui-slider-vertical .ui-slider-range-max { + top: 0; +} +.ui-spinner { + position: relative; + display: inline-block; + overflow: hidden; + padding: 0; + vertical-align: middle; +} +.ui-spinner-input { + border: none; + background: none; + color: inherit; + padding: 0; + margin: .2em 0; + vertical-align: middle; + margin-left: .4em; + margin-right: 22px; +} +.ui-spinner-button { + width: 16px; + height: 50%; + font-size: .5em; + padding: 0; + margin: 0; + text-align: center; + position: absolute; + cursor: default; + display: block; + overflow: hidden; + right: 0; +} +/* more specificity required here to overide default borders */ +.ui-spinner a.ui-spinner-button { + border-top: none; + border-bottom: none; + border-right: none; +} +/* vertical centre icon */ +.ui-spinner .ui-icon { + position: absolute; + margin-top: -8px; + top: 50%; + left: 0; +} +.ui-spinner-up { + top: 0; +} +.ui-spinner-down { + bottom: 0; +} + +/* TR overrides */ +.ui-spinner .ui-icon-triangle-1-s { + /* need to fix icons sprite */ + background-position: -65px -16px; +} +.ui-tabs { + position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ + padding: .2em; +} +.ui-tabs .ui-tabs-nav { + margin: 0; + padding: .2em .2em 0; +} +.ui-tabs .ui-tabs-nav li { + list-style: none; + float: left; + position: relative; + top: 0; + margin: 1px .2em 0 0; + border-bottom-width: 0; + padding: 0; + white-space: nowrap; +} +.ui-tabs .ui-tabs-nav li a { + float: left; + padding: .5em 1em; + text-decoration: none; +} +.ui-tabs .ui-tabs-nav li.ui-tabs-active { + margin-bottom: -1px; + padding-bottom: 1px; +} +.ui-tabs .ui-tabs-nav li.ui-tabs-active a, +.ui-tabs .ui-tabs-nav li.ui-state-disabled a, +.ui-tabs .ui-tabs-nav li.ui-tabs-loading a { + cursor: text; +} +.ui-tabs .ui-tabs-nav li a, /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */ +.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a { + cursor: pointer; +} +.ui-tabs .ui-tabs-panel { + display: block; + border-width: 0; + padding: 1em 1.4em; + background: none; +} +.ui-tooltip { + padding: 8px; + position: absolute; + z-index: 9999; + max-width: 300px; + -webkit-box-shadow: 0 0 5px #aaa; + box-shadow: 0 0 5px #aaa; +} +body .ui-tooltip { + border-width: 2px; +} + +/* Component containers +----------------------------------*/ +.ui-widget { + font-family: Verdana,Arial,sans-serif; + font-size: 1.1em; +} +.ui-widget .ui-widget { + font-size: 1em; +} +.ui-widget input, +.ui-widget select, +.ui-widget textarea, +.ui-widget button { + font-family: Verdana,Arial,sans-serif; + font-size: 1em; +} +.ui-widget-content { + border: 1px solid #aaaaaa; + background: #ffffff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x; + color: #222222; +} +.ui-widget-content a { + color: #222222; +} +.ui-widget-header { + border: 1px solid #aaaaaa; + background: #cccccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x; + color: #222222; + font-weight: bold; +} +.ui-widget-header a { + color: #222222; +} + +/* Interaction states +----------------------------------*/ +.ui-state-default, +.ui-widget-content .ui-state-default, +.ui-widget-header .ui-state-default { + border: 1px solid #d3d3d3; + background: #e6e6e6 url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x; + font-weight: normal; + color: #555555; +} +.ui-state-default a, +.ui-state-default a:link, +.ui-state-default a:visited { + color: #555555; + text-decoration: none; +} +.ui-state-hover, +.ui-widget-content .ui-state-hover, +.ui-widget-header .ui-state-hover, +.ui-state-focus, +.ui-widget-content .ui-state-focus, +.ui-widget-header .ui-state-focus { + border: 1px solid #999999; + background: #dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x; + font-weight: normal; + color: #212121; +} +.ui-state-hover a, +.ui-state-hover a:hover, +.ui-state-hover a:link, +.ui-state-hover a:visited { + color: #212121; + text-decoration: none; +} +.ui-state-active, +.ui-widget-content .ui-state-active, +.ui-widget-header .ui-state-active { + border: 1px solid #aaaaaa; + background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; + font-weight: normal; + color: #212121; +} +.ui-state-active a, +.ui-state-active a:link, +.ui-state-active a:visited { + color: #212121; + text-decoration: none; +} + +/* Interaction Cues +----------------------------------*/ +.ui-state-highlight, +.ui-widget-content .ui-state-highlight, +.ui-widget-header .ui-state-highlight { + border: 1px solid #fcefa1; + background: #fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x; + color: #363636; +} +.ui-state-highlight a, +.ui-widget-content .ui-state-highlight a, +.ui-widget-header .ui-state-highlight a { + color: #363636; +} +.ui-state-error, +.ui-widget-content .ui-state-error, +.ui-widget-header .ui-state-error { + border: 1px solid #cd0a0a; + background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; + color: #cd0a0a; +} +.ui-state-error a, +.ui-widget-content .ui-state-error a, +.ui-widget-header .ui-state-error a { + color: #cd0a0a; +} +.ui-state-error-text, +.ui-widget-content .ui-state-error-text, +.ui-widget-header .ui-state-error-text { + color: #cd0a0a; +} +.ui-priority-primary, +.ui-widget-content .ui-priority-primary, +.ui-widget-header .ui-priority-primary { + font-weight: bold; +} +.ui-priority-secondary, +.ui-widget-content .ui-priority-secondary, +.ui-widget-header .ui-priority-secondary { + opacity: .7; + filter:Alpha(Opacity=70); + font-weight: normal; +} +.ui-state-disabled, +.ui-widget-content .ui-state-disabled, +.ui-widget-header .ui-state-disabled { + opacity: .35; + filter:Alpha(Opacity=35); + background-image: none; +} +.ui-state-disabled .ui-icon { + filter:Alpha(Opacity=35); /* For IE8 - See #6059 */ +} + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { + width: 16px; + height: 16px; +} +.ui-icon, +.ui-widget-content .ui-icon { + background-image: url(images/ui-icons_222222_256x240.png); +} +.ui-widget-header .ui-icon { + background-image: url(images/ui-icons_222222_256x240.png); +} +.ui-state-default .ui-icon { + background-image: url(images/ui-icons_888888_256x240.png); +} +.ui-state-hover .ui-icon, +.ui-state-focus .ui-icon { + background-image: url(images/ui-icons_454545_256x240.png); +} +.ui-state-active .ui-icon { + background-image: url(images/ui-icons_454545_256x240.png); +} +.ui-state-highlight .ui-icon { + background-image: url(images/ui-icons_2e83ff_256x240.png); +} +.ui-state-error .ui-icon, +.ui-state-error-text .ui-icon { + background-image: url(images/ui-icons_cd0a0a_256x240.png); +} + +/* positioning */ +.ui-icon-blank { background-position: 16px 16px; } +.ui-icon-carat-1-n { background-position: 0 0; } +.ui-icon-carat-1-ne { background-position: -16px 0; } +.ui-icon-carat-1-e { background-position: -32px 0; } +.ui-icon-carat-1-se { background-position: -48px 0; } +.ui-icon-carat-1-s { background-position: -64px 0; } +.ui-icon-carat-1-sw { background-position: -80px 0; } +.ui-icon-carat-1-w { background-position: -96px 0; } +.ui-icon-carat-1-nw { background-position: -112px 0; } +.ui-icon-carat-2-n-s { background-position: -128px 0; } +.ui-icon-carat-2-e-w { background-position: -144px 0; } +.ui-icon-triangle-1-n { background-position: 0 -16px; } +.ui-icon-triangle-1-ne { background-position: -16px -16px; } +.ui-icon-triangle-1-e { background-position: -32px -16px; } +.ui-icon-triangle-1-se { background-position: -48px -16px; } +.ui-icon-triangle-1-s { background-position: -64px -16px; } +.ui-icon-triangle-1-sw { background-position: -80px -16px; } +.ui-icon-triangle-1-w { background-position: -96px -16px; } +.ui-icon-triangle-1-nw { background-position: -112px -16px; } +.ui-icon-triangle-2-n-s { background-position: -128px -16px; } +.ui-icon-triangle-2-e-w { background-position: -144px -16px; } +.ui-icon-arrow-1-n { background-position: 0 -32px; } +.ui-icon-arrow-1-ne { background-position: -16px -32px; } +.ui-icon-arrow-1-e { background-position: -32px -32px; } +.ui-icon-arrow-1-se { background-position: -48px -32px; } +.ui-icon-arrow-1-s { background-position: -64px -32px; } +.ui-icon-arrow-1-sw { background-position: -80px -32px; } +.ui-icon-arrow-1-w { background-position: -96px -32px; } +.ui-icon-arrow-1-nw { background-position: -112px -32px; } +.ui-icon-arrow-2-n-s { background-position: -128px -32px; } +.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } +.ui-icon-arrow-2-e-w { background-position: -160px -32px; } +.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } +.ui-icon-arrowstop-1-n { background-position: -192px -32px; } +.ui-icon-arrowstop-1-e { background-position: -208px -32px; } +.ui-icon-arrowstop-1-s { background-position: -224px -32px; } +.ui-icon-arrowstop-1-w { background-position: -240px -32px; } +.ui-icon-arrowthick-1-n { background-position: 0 -48px; } +.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } +.ui-icon-arrowthick-1-e { background-position: -32px -48px; } +.ui-icon-arrowthick-1-se { background-position: -48px -48px; } +.ui-icon-arrowthick-1-s { background-position: -64px -48px; } +.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } +.ui-icon-arrowthick-1-w { background-position: -96px -48px; } +.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } +.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } +.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } +.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } +.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } +.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } +.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } +.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } +.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } +.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } +.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } +.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } +.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } +.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } +.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } +.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } +.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } +.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } +.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } +.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } +.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } +.ui-icon-arrow-4 { background-position: 0 -80px; } +.ui-icon-arrow-4-diag { background-position: -16px -80px; } +.ui-icon-extlink { background-position: -32px -80px; } +.ui-icon-newwin { background-position: -48px -80px; } +.ui-icon-refresh { background-position: -64px -80px; } +.ui-icon-shuffle { background-position: -80px -80px; } +.ui-icon-transfer-e-w { background-position: -96px -80px; } +.ui-icon-transferthick-e-w { background-position: -112px -80px; } +.ui-icon-folder-collapsed { background-position: 0 -96px; } +.ui-icon-folder-open { background-position: -16px -96px; } +.ui-icon-document { background-position: -32px -96px; } +.ui-icon-document-b { background-position: -48px -96px; } +.ui-icon-note { background-position: -64px -96px; } +.ui-icon-mail-closed { background-position: -80px -96px; } +.ui-icon-mail-open { background-position: -96px -96px; } +.ui-icon-suitcase { background-position: -112px -96px; } +.ui-icon-comment { background-position: -128px -96px; } +.ui-icon-person { background-position: -144px -96px; } +.ui-icon-print { background-position: -160px -96px; } +.ui-icon-trash { background-position: -176px -96px; } +.ui-icon-locked { background-position: -192px -96px; } +.ui-icon-unlocked { background-position: -208px -96px; } +.ui-icon-bookmark { background-position: -224px -96px; } +.ui-icon-tag { background-position: -240px -96px; } +.ui-icon-home { background-position: 0 -112px; } +.ui-icon-flag { background-position: -16px -112px; } +.ui-icon-calendar { background-position: -32px -112px; } +.ui-icon-cart { background-position: -48px -112px; } +.ui-icon-pencil { background-position: -64px -112px; } +.ui-icon-clock { background-position: -80px -112px; } +.ui-icon-disk { background-position: -96px -112px; } +.ui-icon-calculator { background-position: -112px -112px; } +.ui-icon-zoomin { background-position: -128px -112px; } +.ui-icon-zoomout { background-position: -144px -112px; } +.ui-icon-search { background-position: -160px -112px; } +.ui-icon-wrench { background-position: -176px -112px; } +.ui-icon-gear { background-position: -192px -112px; } +.ui-icon-heart { background-position: -208px -112px; } +.ui-icon-star { background-position: -224px -112px; } +.ui-icon-link { background-position: -240px -112px; } +.ui-icon-cancel { background-position: 0 -128px; } +.ui-icon-plus { background-position: -16px -128px; } +.ui-icon-plusthick { background-position: -32px -128px; } +.ui-icon-minus { background-position: -48px -128px; } +.ui-icon-minusthick { background-position: -64px -128px; } +.ui-icon-close { background-position: -80px -128px; } +.ui-icon-closethick { background-position: -96px -128px; } +.ui-icon-key { background-position: -112px -128px; } +.ui-icon-lightbulb { background-position: -128px -128px; } +.ui-icon-scissors { background-position: -144px -128px; } +.ui-icon-clipboard { background-position: -160px -128px; } +.ui-icon-copy { background-position: -176px -128px; } +.ui-icon-contact { background-position: -192px -128px; } +.ui-icon-image { background-position: -208px -128px; } +.ui-icon-video { background-position: -224px -128px; } +.ui-icon-script { background-position: -240px -128px; } +.ui-icon-alert { background-position: 0 -144px; } +.ui-icon-info { background-position: -16px -144px; } +.ui-icon-notice { background-position: -32px -144px; } +.ui-icon-help { background-position: -48px -144px; } +.ui-icon-check { background-position: -64px -144px; } +.ui-icon-bullet { background-position: -80px -144px; } +.ui-icon-radio-on { background-position: -96px -144px; } +.ui-icon-radio-off { background-position: -112px -144px; } +.ui-icon-pin-w { background-position: -128px -144px; } +.ui-icon-pin-s { background-position: -144px -144px; } +.ui-icon-play { background-position: 0 -160px; } +.ui-icon-pause { background-position: -16px -160px; } +.ui-icon-seek-next { background-position: -32px -160px; } +.ui-icon-seek-prev { background-position: -48px -160px; } +.ui-icon-seek-end { background-position: -64px -160px; } +.ui-icon-seek-start { background-position: -80px -160px; } +/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ +.ui-icon-seek-first { background-position: -80px -160px; } +.ui-icon-stop { background-position: -96px -160px; } +.ui-icon-eject { background-position: -112px -160px; } +.ui-icon-volume-off { background-position: -128px -160px; } +.ui-icon-volume-on { background-position: -144px -160px; } +.ui-icon-power { background-position: 0 -176px; } +.ui-icon-signal-diag { background-position: -16px -176px; } +.ui-icon-signal { background-position: -32px -176px; } +.ui-icon-battery-0 { background-position: -48px -176px; } +.ui-icon-battery-1 { background-position: -64px -176px; } +.ui-icon-battery-2 { background-position: -80px -176px; } +.ui-icon-battery-3 { background-position: -96px -176px; } +.ui-icon-circle-plus { background-position: 0 -192px; } +.ui-icon-circle-minus { background-position: -16px -192px; } +.ui-icon-circle-close { background-position: -32px -192px; } +.ui-icon-circle-triangle-e { background-position: -48px -192px; } +.ui-icon-circle-triangle-s { background-position: -64px -192px; } +.ui-icon-circle-triangle-w { background-position: -80px -192px; } +.ui-icon-circle-triangle-n { background-position: -96px -192px; } +.ui-icon-circle-arrow-e { background-position: -112px -192px; } +.ui-icon-circle-arrow-s { background-position: -128px -192px; } +.ui-icon-circle-arrow-w { background-position: -144px -192px; } +.ui-icon-circle-arrow-n { background-position: -160px -192px; } +.ui-icon-circle-zoomin { background-position: -176px -192px; } +.ui-icon-circle-zoomout { background-position: -192px -192px; } +.ui-icon-circle-check { background-position: -208px -192px; } +.ui-icon-circlesmall-plus { background-position: 0 -208px; } +.ui-icon-circlesmall-minus { background-position: -16px -208px; } +.ui-icon-circlesmall-close { background-position: -32px -208px; } +.ui-icon-squaresmall-plus { background-position: -48px -208px; } +.ui-icon-squaresmall-minus { background-position: -64px -208px; } +.ui-icon-squaresmall-close { background-position: -80px -208px; } +.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } +.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } +.ui-icon-grip-solid-vertical { background-position: -32px -224px; } +.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } +.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } +.ui-icon-grip-diagonal-se { background-position: -80px -224px; } + + +/* Misc visuals +----------------------------------*/ + +/* Corner radius */ +.ui-corner-all, +.ui-corner-top, +.ui-corner-left, +.ui-corner-tl { + border-top-left-radius: 4px; +} +.ui-corner-all, +.ui-corner-top, +.ui-corner-right, +.ui-corner-tr { + border-top-right-radius: 4px; +} +.ui-corner-all, +.ui-corner-bottom, +.ui-corner-left, +.ui-corner-bl { + border-bottom-left-radius: 4px; +} +.ui-corner-all, +.ui-corner-bottom, +.ui-corner-right, +.ui-corner-br { + border-bottom-right-radius: 4px; +} + +/* Overlays */ +.ui-widget-overlay { + background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; + opacity: .3; + filter: Alpha(Opacity=30); +} +.ui-widget-shadow { + margin: -8px 0 0 -8px; + padding: 8px; + background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; + opacity: .3; + filter: Alpha(Opacity=30); + border-radius: 8px; +} diff --git a/wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/jquery-ui.min.css b/wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/jquery-ui.min.css new file mode 100644 index 0000000..b8b6f0a --- /dev/null +++ b/wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/jquery-ui.min.css @@ -0,0 +1,5 @@ +/*! jQuery UI - v1.10.3 - 2013-05-03 +* http://jqueryui.com +* Includes: jquery.ui.core.css, jquery.ui.accordion.css, jquery.ui.autocomplete.css, jquery.ui.button.css, jquery.ui.datepicker.css, jquery.ui.dialog.css, jquery.ui.menu.css, jquery.ui.progressbar.css, jquery.ui.resizable.css, jquery.ui.selectable.css, jquery.ui.slider.css, jquery.ui.spinner.css, jquery.ui.tabs.css, jquery.ui.tooltip.css +* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=highlight_soft&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=flat&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=glass&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=glass&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=glass&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px +* Copyright 2013 jQuery Foundation and other contributors Licensed MIT */.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin-top:2px;padding:.5em .5em .5em .7em;min-height:0}.ui-accordion .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-noicons{padding-left:.7em}.ui-accordion .ui-accordion-icons .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-header .ui-accordion-header-icon{position:absolute;left:.5em;top:50%;margin-top:-8px}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-button{display:inline-block;position:relative;padding:0;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2.2em}button.ui-button-icon-only{width:2.4em}.ui-button-icons-only{width:3.4em}button.ui-button-icons-only{width:3.7em}.ui-button .ui-button-text{display:block;line-height:normal}.ui-button-text-only .ui-button-text{padding:.4em 1em}.ui-button-icon-only .ui-button-text,.ui-button-icons-only .ui-button-text{padding:.4em;text-indent:-9999999px}.ui-button-text-icon-primary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 1em .4em 2.1em}.ui-button-text-icon-secondary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 2.1em .4em 1em}.ui-button-text-icons .ui-button-text{padding-left:2.1em;padding-right:2.1em}input.ui-button{padding:.4em 1em}.ui-button-icon-only .ui-icon,.ui-button-text-icon-primary .ui-icon,.ui-button-text-icon-secondary .ui-icon,.ui-button-text-icons .ui-icon,.ui-button-icons-only .ui-icon{position:absolute;top:50%;margin-top:-8px}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px}.ui-button-text-icon-primary .ui-button-icon-primary,.ui-button-text-icons .ui-button-icon-primary,.ui-button-icons-only .ui-button-icon-primary{left:.5em}.ui-button-text-icon-secondary .ui-button-icon-secondary,.ui-button-text-icons .ui-button-icon-secondary,.ui-button-icons-only .ui-button-icon-secondary{right:.5em}.ui-buttonset{margin-right:7px}.ui-buttonset .ui-button{margin-left:0;margin-right:-.3em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month-year{width:100%}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:49%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:700;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-dialog{position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:21px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:0;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:12px;height:12px;right:-5px;bottom:-5px;background-position:16px 16px}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-menu{list-style:none;padding:2px;margin:0;display:block;outline:0}.ui-menu .ui-menu{margin-top:-3px;position:absolute}.ui-menu .ui-menu-item{margin:0;padding:0;width:100%;list-style-image:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)}.ui-menu .ui-menu-divider{margin:5px -2px 5px -2px;height:0;font-size:0;line-height:0;border-width:1px 0 0}.ui-menu .ui-menu-item a{text-decoration:none;display:block;padding:2px .4em;line-height:1.5;min-height:0;font-weight:400}.ui-menu .ui-menu-item a.ui-state-focus,.ui-menu .ui-menu-item a.ui-state-active{font-weight:400;margin:-1px}.ui-menu .ui-state-disabled{font-weight:400;margin:.4em 0 .2em;line-height:1.5}.ui-menu .ui-state-disabled a{cursor:default}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item a{position:relative;padding-left:2em}.ui-menu .ui-icon{position:absolute;top:.2em;left:.2em}.ui-menu .ui-menu-icon{position:static;float:right}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url(images/animated-overlay.gif);height:100%;filter:alpha(opacity=25);opacity:.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted #000}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:0;background:0;color:inherit;padding:0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:22px}.ui-spinner-button{width:16px;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top:0;border-bottom:0;border-right:0}.ui-spinner .ui-icon{position:absolute;margin-top:-8px;top:50%;left:0}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-spinner .ui-icon-triangle-1-s{background-position:-65px -16px}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav li a{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active a,.ui-tabs .ui-tabs-nav li.ui-state-disabled a,.ui-tabs .ui-tabs-nav li.ui-tabs-loading a{cursor:text}.ui-tabs .ui-tabs-nav li a,.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:0}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px;-webkit-box-shadow:0 0 5px #aaa;box-shadow:0 0 5px #aaa}body .ui-tooltip{border-width:2px}.ui-widget{font-family:Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Verdana,Arial,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #aaa;background:#fff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x;color:#222}.ui-widget-content a{color:#222}.ui-widget-header{border:1px solid #aaa;background:#ccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x;color:#222;font-weight:bold}.ui-widget-header a{color:#222}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #d3d3d3;background:#e6e6e6 url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#555}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#555;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #999;background:#dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#212121}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited{color:#212121;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #aaa;background:#fff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#212121}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#212121;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fcefa1;background:#fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x;color:#363636}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;color:#cd0a0a}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#cd0a0a}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#cd0a0a}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url(images/ui-icons_222222_256x240.png)}.ui-widget-header .ui-icon{background-image:url(images/ui-icons_222222_256x240.png)}.ui-state-default .ui-icon{background-image:url(images/ui-icons_888888_256x240.png)}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url(images/ui-icons_454545_256x240.png)}.ui-state-active .ui-icon{background-image:url(images/ui-icons_454545_256x240.png)}.ui-state-highlight .ui-icon{background-image:url(images/ui-icons_2e83ff_256x240.png)}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(images/ui-icons_cd0a0a_256x240.png)}.ui-icon-blank{background-position:16px 16px}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:4px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:4px}.ui-widget-overlay{background:#aaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:#aaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30);border-radius:8px} \ No newline at end of file diff --git a/wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/jquery.ui.theme.css b/wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/jquery.ui.theme.css new file mode 100644 index 0000000..19e5839 --- /dev/null +++ b/wp-content/plugins/contact-form-7/includes/js/jquery-ui/themes/smoothness/jquery.ui.theme.css @@ -0,0 +1,406 @@ +/*! + * jQuery UI CSS Framework 1.10.3 + * http://jqueryui.com + * + * Copyright 2013 jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Theming/API + * + * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=highlight_soft&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=flat&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=glass&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=glass&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=glass&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px + */ + + +/* Component containers +----------------------------------*/ +.ui-widget { + font-family: Verdana,Arial,sans-serif; + font-size: 1.1em; +} +.ui-widget .ui-widget { + font-size: 1em; +} +.ui-widget input, +.ui-widget select, +.ui-widget textarea, +.ui-widget button { + font-family: Verdana,Arial,sans-serif; + font-size: 1em; +} +.ui-widget-content { + border: 1px solid #aaaaaa; + background: #ffffff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x; + color: #222222; +} +.ui-widget-content a { + color: #222222; +} +.ui-widget-header { + border: 1px solid #aaaaaa; + background: #cccccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x; + color: #222222; + font-weight: bold; +} +.ui-widget-header a { + color: #222222; +} + +/* Interaction states +----------------------------------*/ +.ui-state-default, +.ui-widget-content .ui-state-default, +.ui-widget-header .ui-state-default { + border: 1px solid #d3d3d3; + background: #e6e6e6 url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x; + font-weight: normal; + color: #555555; +} +.ui-state-default a, +.ui-state-default a:link, +.ui-state-default a:visited { + color: #555555; + text-decoration: none; +} +.ui-state-hover, +.ui-widget-content .ui-state-hover, +.ui-widget-header .ui-state-hover, +.ui-state-focus, +.ui-widget-content .ui-state-focus, +.ui-widget-header .ui-state-focus { + border: 1px solid #999999; + background: #dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x; + font-weight: normal; + color: #212121; +} +.ui-state-hover a, +.ui-state-hover a:hover, +.ui-state-hover a:link, +.ui-state-hover a:visited { + color: #212121; + text-decoration: none; +} +.ui-state-active, +.ui-widget-content .ui-state-active, +.ui-widget-header .ui-state-active { + border: 1px solid #aaaaaa; + background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; + font-weight: normal; + color: #212121; +} +.ui-state-active a, +.ui-state-active a:link, +.ui-state-active a:visited { + color: #212121; + text-decoration: none; +} + +/* Interaction Cues +----------------------------------*/ +.ui-state-highlight, +.ui-widget-content .ui-state-highlight, +.ui-widget-header .ui-state-highlight { + border: 1px solid #fcefa1; + background: #fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x; + color: #363636; +} +.ui-state-highlight a, +.ui-widget-content .ui-state-highlight a, +.ui-widget-header .ui-state-highlight a { + color: #363636; +} +.ui-state-error, +.ui-widget-content .ui-state-error, +.ui-widget-header .ui-state-error { + border: 1px solid #cd0a0a; + background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; + color: #cd0a0a; +} +.ui-state-error a, +.ui-widget-content .ui-state-error a, +.ui-widget-header .ui-state-error a { + color: #cd0a0a; +} +.ui-state-error-text, +.ui-widget-content .ui-state-error-text, +.ui-widget-header .ui-state-error-text { + color: #cd0a0a; +} +.ui-priority-primary, +.ui-widget-content .ui-priority-primary, +.ui-widget-header .ui-priority-primary { + font-weight: bold; +} +.ui-priority-secondary, +.ui-widget-content .ui-priority-secondary, +.ui-widget-header .ui-priority-secondary { + opacity: .7; + filter:Alpha(Opacity=70); + font-weight: normal; +} +.ui-state-disabled, +.ui-widget-content .ui-state-disabled, +.ui-widget-header .ui-state-disabled { + opacity: .35; + filter:Alpha(Opacity=35); + background-image: none; +} +.ui-state-disabled .ui-icon { + filter:Alpha(Opacity=35); /* For IE8 - See #6059 */ +} + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { + width: 16px; + height: 16px; +} +.ui-icon, +.ui-widget-content .ui-icon { + background-image: url(images/ui-icons_222222_256x240.png); +} +.ui-widget-header .ui-icon { + background-image: url(images/ui-icons_222222_256x240.png); +} +.ui-state-default .ui-icon { + background-image: url(images/ui-icons_888888_256x240.png); +} +.ui-state-hover .ui-icon, +.ui-state-focus .ui-icon { + background-image: url(images/ui-icons_454545_256x240.png); +} +.ui-state-active .ui-icon { + background-image: url(images/ui-icons_454545_256x240.png); +} +.ui-state-highlight .ui-icon { + background-image: url(images/ui-icons_2e83ff_256x240.png); +} +.ui-state-error .ui-icon, +.ui-state-error-text .ui-icon { + background-image: url(images/ui-icons_cd0a0a_256x240.png); +} + +/* positioning */ +.ui-icon-blank { background-position: 16px 16px; } +.ui-icon-carat-1-n { background-position: 0 0; } +.ui-icon-carat-1-ne { background-position: -16px 0; } +.ui-icon-carat-1-e { background-position: -32px 0; } +.ui-icon-carat-1-se { background-position: -48px 0; } +.ui-icon-carat-1-s { background-position: -64px 0; } +.ui-icon-carat-1-sw { background-position: -80px 0; } +.ui-icon-carat-1-w { background-position: -96px 0; } +.ui-icon-carat-1-nw { background-position: -112px 0; } +.ui-icon-carat-2-n-s { background-position: -128px 0; } +.ui-icon-carat-2-e-w { background-position: -144px 0; } +.ui-icon-triangle-1-n { background-position: 0 -16px; } +.ui-icon-triangle-1-ne { background-position: -16px -16px; } +.ui-icon-triangle-1-e { background-position: -32px -16px; } +.ui-icon-triangle-1-se { background-position: -48px -16px; } +.ui-icon-triangle-1-s { background-position: -64px -16px; } +.ui-icon-triangle-1-sw { background-position: -80px -16px; } +.ui-icon-triangle-1-w { background-position: -96px -16px; } +.ui-icon-triangle-1-nw { background-position: -112px -16px; } +.ui-icon-triangle-2-n-s { background-position: -128px -16px; } +.ui-icon-triangle-2-e-w { background-position: -144px -16px; } +.ui-icon-arrow-1-n { background-position: 0 -32px; } +.ui-icon-arrow-1-ne { background-position: -16px -32px; } +.ui-icon-arrow-1-e { background-position: -32px -32px; } +.ui-icon-arrow-1-se { background-position: -48px -32px; } +.ui-icon-arrow-1-s { background-position: -64px -32px; } +.ui-icon-arrow-1-sw { background-position: -80px -32px; } +.ui-icon-arrow-1-w { background-position: -96px -32px; } +.ui-icon-arrow-1-nw { background-position: -112px -32px; } +.ui-icon-arrow-2-n-s { background-position: -128px -32px; } +.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } +.ui-icon-arrow-2-e-w { background-position: -160px -32px; } +.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } +.ui-icon-arrowstop-1-n { background-position: -192px -32px; } +.ui-icon-arrowstop-1-e { background-position: -208px -32px; } +.ui-icon-arrowstop-1-s { background-position: -224px -32px; } +.ui-icon-arrowstop-1-w { background-position: -240px -32px; } +.ui-icon-arrowthick-1-n { background-position: 0 -48px; } +.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } +.ui-icon-arrowthick-1-e { background-position: -32px -48px; } +.ui-icon-arrowthick-1-se { background-position: -48px -48px; } +.ui-icon-arrowthick-1-s { background-position: -64px -48px; } +.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } +.ui-icon-arrowthick-1-w { background-position: -96px -48px; } +.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } +.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } +.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } +.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } +.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } +.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } +.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } +.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } +.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } +.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } +.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } +.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } +.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } +.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } +.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } +.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } +.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } +.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } +.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } +.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } +.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } +.ui-icon-arrow-4 { background-position: 0 -80px; } +.ui-icon-arrow-4-diag { background-position: -16px -80px; } +.ui-icon-extlink { background-position: -32px -80px; } +.ui-icon-newwin { background-position: -48px -80px; } +.ui-icon-refresh { background-position: -64px -80px; } +.ui-icon-shuffle { background-position: -80px -80px; } +.ui-icon-transfer-e-w { background-position: -96px -80px; } +.ui-icon-transferthick-e-w { background-position: -112px -80px; } +.ui-icon-folder-collapsed { background-position: 0 -96px; } +.ui-icon-folder-open { background-position: -16px -96px; } +.ui-icon-document { background-position: -32px -96px; } +.ui-icon-document-b { background-position: -48px -96px; } +.ui-icon-note { background-position: -64px -96px; } +.ui-icon-mail-closed { background-position: -80px -96px; } +.ui-icon-mail-open { background-position: -96px -96px; } +.ui-icon-suitcase { background-position: -112px -96px; } +.ui-icon-comment { background-position: -128px -96px; } +.ui-icon-person { background-position: -144px -96px; } +.ui-icon-print { background-position: -160px -96px; } +.ui-icon-trash { background-position: -176px -96px; } +.ui-icon-locked { background-position: -192px -96px; } +.ui-icon-unlocked { background-position: -208px -96px; } +.ui-icon-bookmark { background-position: -224px -96px; } +.ui-icon-tag { background-position: -240px -96px; } +.ui-icon-home { background-position: 0 -112px; } +.ui-icon-flag { background-position: -16px -112px; } +.ui-icon-calendar { background-position: -32px -112px; } +.ui-icon-cart { background-position: -48px -112px; } +.ui-icon-pencil { background-position: -64px -112px; } +.ui-icon-clock { background-position: -80px -112px; } +.ui-icon-disk { background-position: -96px -112px; } +.ui-icon-calculator { background-position: -112px -112px; } +.ui-icon-zoomin { background-position: -128px -112px; } +.ui-icon-zoomout { background-position: -144px -112px; } +.ui-icon-search { background-position: -160px -112px; } +.ui-icon-wrench { background-position: -176px -112px; } +.ui-icon-gear { background-position: -192px -112px; } +.ui-icon-heart { background-position: -208px -112px; } +.ui-icon-star { background-position: -224px -112px; } +.ui-icon-link { background-position: -240px -112px; } +.ui-icon-cancel { background-position: 0 -128px; } +.ui-icon-plus { background-position: -16px -128px; } +.ui-icon-plusthick { background-position: -32px -128px; } +.ui-icon-minus { background-position: -48px -128px; } +.ui-icon-minusthick { background-position: -64px -128px; } +.ui-icon-close { background-position: -80px -128px; } +.ui-icon-closethick { background-position: -96px -128px; } +.ui-icon-key { background-position: -112px -128px; } +.ui-icon-lightbulb { background-position: -128px -128px; } +.ui-icon-scissors { background-position: -144px -128px; } +.ui-icon-clipboard { background-position: -160px -128px; } +.ui-icon-copy { background-position: -176px -128px; } +.ui-icon-contact { background-position: -192px -128px; } +.ui-icon-image { background-position: -208px -128px; } +.ui-icon-video { background-position: -224px -128px; } +.ui-icon-script { background-position: -240px -128px; } +.ui-icon-alert { background-position: 0 -144px; } +.ui-icon-info { background-position: -16px -144px; } +.ui-icon-notice { background-position: -32px -144px; } +.ui-icon-help { background-position: -48px -144px; } +.ui-icon-check { background-position: -64px -144px; } +.ui-icon-bullet { background-position: -80px -144px; } +.ui-icon-radio-on { background-position: -96px -144px; } +.ui-icon-radio-off { background-position: -112px -144px; } +.ui-icon-pin-w { background-position: -128px -144px; } +.ui-icon-pin-s { background-position: -144px -144px; } +.ui-icon-play { background-position: 0 -160px; } +.ui-icon-pause { background-position: -16px -160px; } +.ui-icon-seek-next { background-position: -32px -160px; } +.ui-icon-seek-prev { background-position: -48px -160px; } +.ui-icon-seek-end { background-position: -64px -160px; } +.ui-icon-seek-start { background-position: -80px -160px; } +/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ +.ui-icon-seek-first { background-position: -80px -160px; } +.ui-icon-stop { background-position: -96px -160px; } +.ui-icon-eject { background-position: -112px -160px; } +.ui-icon-volume-off { background-position: -128px -160px; } +.ui-icon-volume-on { background-position: -144px -160px; } +.ui-icon-power { background-position: 0 -176px; } +.ui-icon-signal-diag { background-position: -16px -176px; } +.ui-icon-signal { background-position: -32px -176px; } +.ui-icon-battery-0 { background-position: -48px -176px; } +.ui-icon-battery-1 { background-position: -64px -176px; } +.ui-icon-battery-2 { background-position: -80px -176px; } +.ui-icon-battery-3 { background-position: -96px -176px; } +.ui-icon-circle-plus { background-position: 0 -192px; } +.ui-icon-circle-minus { background-position: -16px -192px; } +.ui-icon-circle-close { background-position: -32px -192px; } +.ui-icon-circle-triangle-e { background-position: -48px -192px; } +.ui-icon-circle-triangle-s { background-position: -64px -192px; } +.ui-icon-circle-triangle-w { background-position: -80px -192px; } +.ui-icon-circle-triangle-n { background-position: -96px -192px; } +.ui-icon-circle-arrow-e { background-position: -112px -192px; } +.ui-icon-circle-arrow-s { background-position: -128px -192px; } +.ui-icon-circle-arrow-w { background-position: -144px -192px; } +.ui-icon-circle-arrow-n { background-position: -160px -192px; } +.ui-icon-circle-zoomin { background-position: -176px -192px; } +.ui-icon-circle-zoomout { background-position: -192px -192px; } +.ui-icon-circle-check { background-position: -208px -192px; } +.ui-icon-circlesmall-plus { background-position: 0 -208px; } +.ui-icon-circlesmall-minus { background-position: -16px -208px; } +.ui-icon-circlesmall-close { background-position: -32px -208px; } +.ui-icon-squaresmall-plus { background-position: -48px -208px; } +.ui-icon-squaresmall-minus { background-position: -64px -208px; } +.ui-icon-squaresmall-close { background-position: -80px -208px; } +.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } +.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } +.ui-icon-grip-solid-vertical { background-position: -32px -224px; } +.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } +.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } +.ui-icon-grip-diagonal-se { background-position: -80px -224px; } + + +/* Misc visuals +----------------------------------*/ + +/* Corner radius */ +.ui-corner-all, +.ui-corner-top, +.ui-corner-left, +.ui-corner-tl { + border-top-left-radius: 4px; +} +.ui-corner-all, +.ui-corner-top, +.ui-corner-right, +.ui-corner-tr { + border-top-right-radius: 4px; +} +.ui-corner-all, +.ui-corner-bottom, +.ui-corner-left, +.ui-corner-bl { + border-bottom-left-radius: 4px; +} +.ui-corner-all, +.ui-corner-bottom, +.ui-corner-right, +.ui-corner-br { + border-bottom-right-radius: 4px; +} + +/* Overlays */ +.ui-widget-overlay { + background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; + opacity: .3; + filter: Alpha(Opacity=30); +} +.ui-widget-shadow { + margin: -8px 0 0 -8px; + padding: 8px; + background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; + opacity: .3; + filter: Alpha(Opacity=30); + border-radius: 8px; +} diff --git a/wp-content/plugins/contact-form-7/includes/js/jquery.form.js b/wp-content/plugins/contact-form-7/includes/js/jquery.form.js new file mode 100644 index 0000000..591ad6f --- /dev/null +++ b/wp-content/plugins/contact-form-7/includes/js/jquery.form.js @@ -0,0 +1,1277 @@ +/*! + * jQuery Form Plugin + * version: 3.51.0-2014.06.20 + * Requires jQuery v1.5 or later + * Copyright (c) 2014 M. Alsup + * Examples and documentation at: http://malsup.com/jquery/form/ + * Project repository: https://github.com/malsup/form + * Dual licensed under the MIT and GPL licenses. + * https://github.com/malsup/form#copyright-and-license + */ +/*global ActiveXObject */ + +// AMD support +(function (factory) { + "use strict"; + if (typeof define === 'function' && define.amd) { + // using AMD; register as anon module + define(['jquery'], factory); + } else { + // no AMD; invoke directly + factory( (typeof(jQuery) != 'undefined') ? jQuery : window.Zepto ); + } +} + +(function($) { +"use strict"; + +/* + Usage Note: + ----------- + Do not use both ajaxSubmit and ajaxForm on the same form. These + functions are mutually exclusive. Use ajaxSubmit if you want + to bind your own submit handler to the form. For example, + + $(document).ready(function() { + $('#myForm').on('submit', function(e) { + e.preventDefault(); // <-- important + $(this).ajaxSubmit({ + target: '#output' + }); + }); + }); + + Use ajaxForm when you want the plugin to manage all the event binding + for you. For example, + + $(document).ready(function() { + $('#myForm').ajaxForm({ + target: '#output' + }); + }); + + You can also use ajaxForm with delegation (requires jQuery v1.7+), so the + form does not have to exist when you invoke ajaxForm: + + $('#myForm').ajaxForm({ + delegation: true, + target: '#output' + }); + + When using ajaxForm, the ajaxSubmit function will be invoked for you + at the appropriate time. +*/ + +/** + * Feature detection + */ +var feature = {}; +feature.fileapi = $("").get(0).files !== undefined; +feature.formdata = window.FormData !== undefined; + +var hasProp = !!$.fn.prop; + +// attr2 uses prop when it can but checks the return type for +// an expected string. this accounts for the case where a form +// contains inputs with names like "action" or "method"; in those +// cases "prop" returns the element +$.fn.attr2 = function() { + if ( ! hasProp ) { + return this.attr.apply(this, arguments); + } + var val = this.prop.apply(this, arguments); + if ( ( val && val.jquery ) || typeof val === 'string' ) { + return val; + } + return this.attr.apply(this, arguments); +}; + +/** + * ajaxSubmit() provides a mechanism for immediately submitting + * an HTML form using AJAX. + */ +$.fn.ajaxSubmit = function(options) { + /*jshint scripturl:true */ + + // fast fail if nothing selected (http://dev.jquery.com/ticket/2752) + if (!this.length) { + log('ajaxSubmit: skipping submit process - no element selected'); + return this; + } + + var method, action, url, $form = this; + + if (typeof options == 'function') { + options = { success: options }; + } + else if ( options === undefined ) { + options = {}; + } + + method = options.type || this.attr2('method'); + action = options.url || this.attr2('action'); + + url = (typeof action === 'string') ? $.trim(action) : ''; + url = url || window.location.href || ''; + if (url) { + // clean url (don't include hash vaue) + url = (url.match(/^([^#]+)/)||[])[1]; + } + + options = $.extend(true, { + url: url, + success: $.ajaxSettings.success, + type: method || $.ajaxSettings.type, + iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank' + }, options); + + // hook for manipulating the form data before it is extracted; + // convenient for use with rich editors like tinyMCE or FCKEditor + var veto = {}; + this.trigger('form-pre-serialize', [this, options, veto]); + if (veto.veto) { + log('ajaxSubmit: submit vetoed via form-pre-serialize trigger'); + return this; + } + + // provide opportunity to alter form data before it is serialized + if (options.beforeSerialize && options.beforeSerialize(this, options) === false) { + log('ajaxSubmit: submit aborted via beforeSerialize callback'); + return this; + } + + var traditional = options.traditional; + if ( traditional === undefined ) { + traditional = $.ajaxSettings.traditional; + } + + var elements = []; + var qx, a = this.formToArray(options.semantic, elements); + if (options.data) { + options.extraData = options.data; + qx = $.param(options.data, traditional); + } + + // give pre-submit callback an opportunity to abort the submit + if (options.beforeSubmit && options.beforeSubmit(a, this, options) === false) { + log('ajaxSubmit: submit aborted via beforeSubmit callback'); + return this; + } + + // fire vetoable 'validate' event + this.trigger('form-submit-validate', [a, this, options, veto]); + if (veto.veto) { + log('ajaxSubmit: submit vetoed via form-submit-validate trigger'); + return this; + } + + var q = $.param(a, traditional); + if (qx) { + q = ( q ? (q + '&' + qx) : qx ); + } + if (options.type.toUpperCase() == 'GET') { + options.url += (options.url.indexOf('?') >= 0 ? '&' : '?') + q; + options.data = null; // data is null for 'get' + } + else { + options.data = q; // data is the query string for 'post' + } + + var callbacks = []; + if (options.resetForm) { + callbacks.push(function() { $form.resetForm(); }); + } + if (options.clearForm) { + callbacks.push(function() { $form.clearForm(options.includeHidden); }); + } + + // perform a load on the target only if dataType is not provided + if (!options.dataType && options.target) { + var oldSuccess = options.success || function(){}; + callbacks.push(function(data) { + var fn = options.replaceTarget ? 'replaceWith' : 'html'; + $(options.target)[fn](data).each(oldSuccess, arguments); + }); + } + else if (options.success) { + callbacks.push(options.success); + } + + options.success = function(data, status, xhr) { // jQuery 1.4+ passes xhr as 3rd arg + var context = options.context || this ; // jQuery 1.4+ supports scope context + for (var i=0, max=callbacks.length; i < max; i++) { + callbacks[i].apply(context, [data, status, xhr || $form, $form]); + } + }; + + if (options.error) { + var oldError = options.error; + options.error = function(xhr, status, error) { + var context = options.context || this; + oldError.apply(context, [xhr, status, error, $form]); + }; + } + + if (options.complete) { + var oldComplete = options.complete; + options.complete = function(xhr, status) { + var context = options.context || this; + oldComplete.apply(context, [xhr, status, $form]); + }; + } + + // are there files to upload? + + // [value] (issue #113), also see comment: + // https://github.com/malsup/form/commit/588306aedba1de01388032d5f42a60159eea9228#commitcomment-2180219 + var fileInputs = $('input[type=file]:enabled', this).filter(function() { return $(this).val() !== ''; }); + + var hasFileInputs = fileInputs.length > 0; + var mp = 'multipart/form-data'; + var multipart = ($form.attr('enctype') == mp || $form.attr('encoding') == mp); + + var fileAPI = feature.fileapi && feature.formdata; + log("fileAPI :" + fileAPI); + var shouldUseFrame = (hasFileInputs || multipart) && !fileAPI; + + var jqxhr; + + // options.iframe allows user to force iframe mode + // 06-NOV-09: now defaulting to iframe mode if file input is detected + if (options.iframe !== false && (options.iframe || shouldUseFrame)) { + // hack to fix Safari hang (thanks to Tim Molendijk for this) + // see: http://groups.google.com/group/jquery-dev/browse_thread/thread/36395b7ab510dd5d + if (options.closeKeepAlive) { + $.get(options.closeKeepAlive, function() { + jqxhr = fileUploadIframe(a); + }); + } + else { + jqxhr = fileUploadIframe(a); + } + } + else if ((hasFileInputs || multipart) && fileAPI) { + jqxhr = fileUploadXhr(a); + } + else { + jqxhr = $.ajax(options); + } + + $form.removeData('jqxhr').data('jqxhr', jqxhr); + + // clear element array + for (var k=0; k < elements.length; k++) { + elements[k] = null; + } + + // fire 'notify' event + this.trigger('form-submit-notify', [this, options]); + return this; + + // utility fn for deep serialization + function deepSerialize(extraData){ + var serialized = $.param(extraData, options.traditional).split('&'); + var len = serialized.length; + var result = []; + var i, part; + for (i=0; i < len; i++) { + // #252; undo param space replacement + serialized[i] = serialized[i].replace(/\+/g,' '); + part = serialized[i].split('='); + // #278; use array instead of object storage, favoring array serializations + result.push([decodeURIComponent(part[0]), decodeURIComponent(part[1])]); + } + return result; + } + + // XMLHttpRequest Level 2 file uploads (big hat tip to francois2metz) + function fileUploadXhr(a) { + var formdata = new FormData(); + + for (var i=0; i < a.length; i++) { + formdata.append(a[i].name, a[i].value); + } + + if (options.extraData) { + var serializedData = deepSerialize(options.extraData); + for (i=0; i < serializedData.length; i++) { + if (serializedData[i]) { + formdata.append(serializedData[i][0], serializedData[i][1]); + } + } + } + + options.data = null; + + var s = $.extend(true, {}, $.ajaxSettings, options, { + contentType: false, + processData: false, + cache: false, + type: method || 'POST' + }); + + if (options.uploadProgress) { + // workaround because jqXHR does not expose upload property + s.xhr = function() { + var xhr = $.ajaxSettings.xhr(); + if (xhr.upload) { + xhr.upload.addEventListener('progress', function(event) { + var percent = 0; + var position = event.loaded || event.position; /*event.position is deprecated*/ + var total = event.total; + if (event.lengthComputable) { + percent = Math.ceil(position / total * 100); + } + options.uploadProgress(event, position, total, percent); + }, false); + } + return xhr; + }; + } + + s.data = null; + var beforeSend = s.beforeSend; + s.beforeSend = function(xhr, o) { + //Send FormData() provided by user + if (options.formData) { + o.data = options.formData; + } + else { + o.data = formdata; + } + if(beforeSend) { + beforeSend.call(this, xhr, o); + } + }; + return $.ajax(s); + } + + // private function for handling file uploads (hat tip to YAHOO!) + function fileUploadIframe(a) { + var form = $form[0], el, i, s, g, id, $io, io, xhr, sub, n, timedOut, timeoutHandle; + var deferred = $.Deferred(); + + // #341 + deferred.abort = function(status) { + xhr.abort(status); + }; + + if (a) { + // ensure that every serialized input is still enabled + for (i=0; i < elements.length; i++) { + el = $(elements[i]); + if ( hasProp ) { + el.prop('disabled', false); + } + else { + el.removeAttr('disabled'); + } + } + } + + s = $.extend(true, {}, $.ajaxSettings, options); + s.context = s.context || s; + id = 'jqFormIO' + (new Date().getTime()); + if (s.iframeTarget) { + $io = $(s.iframeTarget); + n = $io.attr2('name'); + if (!n) { + $io.attr2('name', id); + } + else { + id = n; + } + } + else { + $io = $(' + + + + + + + + + + + + + ' . + __( "Add slider", "metaslider" ) . ''; + } + + return $context; + + } + + + /** + * Append the 'Choose Meta Slider' thickbox content to the bottom of selected admin pages + */ + public function admin_footer() { + + global $pagenow; + + // Only run in post/page creation and edit screens + if ( in_array( $pagenow, array( 'post.php', 'page.php', 'post-new.php', 'post-edit.php' ) ) ) { + $sliders = $this->all_meta_sliders( 'title' ); + ?> + + + +

+ + ' . __( "Go Pro", "metaslider" ) . ''; + } + + return $links; + + } + + + /** + * Return the meta slider pro upgrade iFrame + */ + public function upgrade_to_pro_tab() { + + if ( function_exists( 'is_plugin_active' ) && ! is_plugin_active( 'ml-slider-pro/ml-slider-pro.php' ) ) { + return wp_iframe( array( $this, 'upgrade_to_pro_iframe' ) ); + } + + } + + + /** + * Media Manager iframe HTML + */ + public function upgrade_to_pro_iframe() { + + wp_enqueue_style( 'metaslider-admin-styles', METASLIDER_ASSETS_URL . 'metaslider/admin.css', false, METASLIDER_VERSION ); + wp_enqueue_script( 'google-font-api', 'http://fonts.googleapis.com/css?family=PT+Sans:400,700' ); + + $link = apply_filters( 'metaslider_hoplink', 'http://www.metaslider.com/upgrade/' ); + $link .= '?utm_source=lite&utm_medium=more-slide-types&utm_campaign=pro'; + + echo implode("", array( + "
", + "

Get the Pro Addon pack to add support for: Post Feed Slides, YouTube Slides, HTML Slides & Vimeo Slides

", + "

NEW: Animated HTML Layer Slides (with an awesome Drag & Drop editor!)

", + "

Live Theme Editor!

", + "

NEW: Thumbnail Navigation for Flex & Nivo Slider!

", + "Get Pro", + "Opens in a new window", + "
" + )); + + } + + + /** + * Upgrade CTA. + */ + public function upgrade_to_pro_cta() { + + if ( function_exists( 'is_plugin_active' ) && ! is_plugin_active( 'ml-slider-pro/ml-slider-pro.php' ) ) { + $link = apply_filters( 'metaslider_hoplink', 'http://www.metaslider.com/upgrade/' ); + + $link .= '?utm_source=lite&utm_medium=nag&utm_campaign=pro'; + + $goPro = ""; + + echo $goPro; + } + + } + + + /** + * Start output buffering. + * + * Note: wp_ob_end_flush_all is called by default + * - see shutdown action in default-filters.php + */ + public function start_resource_manager() { + + ob_start( array( $this, 'resource_manager' ) ); + + } + + /** + * Process the whole page output. Move link tags with an ID starting + * with 'metaslider' into the of the page. + */ + public function resource_manager( $buffer ) { + + // create dom document from buffer + $html = new simple_html_dom(); + + // Load from a string + $html->load( $buffer, true, false ); + + if ( ! $html->find( 'body link[id^="metaslider"]' ) ) + return $buffer; + + // selectors to find Meta Slider links + $selectors = array( + 'body link[id^="metaslider"]', + ); + + $selectors = apply_filters( "metaslider_resource_manager_selectors", $selectors ); + + if ( $head = $html->find( 'head', 0 ) ) { + + // move meta slider elemends to + foreach ( $selectors as $selector ) { + + foreach ( $html->find( $selector ) as $element ) { + + $head->innertext .= "\t" . $element->outertext . "\n"; + $element->outertext = ''; + + } + + } + + } + + return $html->save(); + + } + +} + +endif; + +add_action( 'plugins_loaded', array( 'MetaSliderPlugin', 'init' ), 10 ); \ No newline at end of file diff --git a/wp-content/plugins/ml-slider/readme.txt b/wp-content/plugins/ml-slider/readme.txt new file mode 100644 index 0000000..7e73471 --- /dev/null +++ b/wp-content/plugins/ml-slider/readme.txt @@ -0,0 +1,465 @@ +=== Plugin Name === +Contributors: matchalabs +Tags: wordpress slideshow,seo,slideshow,slider,widget,wordpress slider,image slider,flexslider,flex slider,nivoslider,nivo slider,responsive,responsive slides,coinslider,coin slider,slideshow,carousel,responsive slider,vertical slides +Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=CQ84KC4X8YKW8 +Requires at least: 3.5 +Tested up to: 3.9 +Stable tag: 3.0 +License: GPLv2 or later +License URI: http://www.gnu.org/licenses/gpl-2.0.html + +Easy to use WordPress slider plugin. Create SEO optimised responsive slideshows with Nivo Slider, Flex Slider, Coin Slider and Responsive Slides. + +== Description == + +http://www.youtube.com/watch?v=o0f3uAvL6Ic + +The most popular WordPress slider plugin. Creating slideshows with [Meta Slider](http://www.metaslider.com/) is fast and easy. Simply select images from your WordPress Media Library, drag and drop them into place, set slide captions, links and SEO fields all from one page. You can choose from 4 different slideshow types (Flex Slider, Nivo Slider, Responsive Slides & Coin Slider) and use the provided shortcode or template include to easily embed slideshows in your blog. + +**Includes** + +* **Flex Slider 2** - Responsive, 2 transition effects, carousel mode +* **Nivo Slider** - Responsive, 16 transition effects, 4 themes +* **Responsive Slides** - Responsive & incredibly light weight +* **Coin Slider** - 4 transition effects + +**Features** + +* Simple, easy to use interface - perfect for individual users, developers & clients! +* Create Responsive, SEO optimised slideshows in seconds +* Unrestricted support for Image slides (supports caption, link, title text, alt text) +* Full width slideshow support +* Drag and drop slide reordering +* Admin preview +* Intelligent image cropping +* Set image crop position +* Built in Widget and Shortcode +* Loads of slideshow configuration options - transition effect, speed etc (per slideshow) +* Fully localised +* WordPress Multi Site compatible +* Compatible with translation plugins (WPML, PolyLang & qTranslate) +* Extensive Developer API (hooks & filters) +* Fast - only the minimum JavaScript/CSS is included on your page +* Free basic support (covering installation issues and theme/plugin conflicts) +* Lightbox support with the [Meta Slider Lightbox](http://wordpress.org/plugins/ml-slider-lightbox/) addon + +Upgrade to [Meta Slider Pro](http://www.metaslider.com/upgrade) to add support for: + +* YouTube & Vimeo slides +* HTML slides +* Layer slides with CSS3 animations +* Dynamic Post Feed/Featured Image Slides (content slider) +* Custom Themes +* Thumbnail Navigation +* Premium Support + +**Translations** + +* French (thanks to fb-graphiklab) +* Spanish (thanks to eltipografico) +* German (thanks to Rewolve44) +* Polish (thanks to gordon34) +* Chinese (thanks to 断青丝) +* Taiwanese (thanks to 断青丝) +* Norwegian (thanks to Dreamsoft) +* Romanian (thanks to Octav Madalin Stanoaia) +* Japanese (thanks to Dorrie) +* Persian (thanks to aliamini) +* Hungarian (thanks to szripio) +* Croatian +* Hebrew (thanks to Ahrale) + +Read more and thanks to: + +* [Flex Slider](http://flexslider.woothemes.com/) +* [Responsive Slides](http://responsive-slides.viljamis.com/) +* [Coin Slider](http://workshop.rs/projects/coin-slider/) +* [Nivo Slider](http://dev7studios.com/nivo-slider/) + +Find out more at http://www.metaslider.com + +Follow us on Twitter: [@wpmetaslider](https://twitter.com/wpmetaslider) + +== Installation == + +The easy way: + +1. Go to the Plugins Menu in WordPress +1. Search for "Meta Slider" +1. Click "Install" + +The not so easy way: + +1. Upload the `ml-slider` folder to the `/wp-content/plugins/` directory +1. Activate the plugin through the 'Plugins' menu in WordPress +1. Manage your slideshows using the 'Meta Slider' menu option + +== Frequently Asked Questions == + +http://www.metaslider.com/documentation/ + += How do I include a slideshow in the header of my site? = + +Video Guide: + +http://www.youtube.com/watch?v=gSsWgd66Jjk + +Text Guide: + +You will need to paste the "Template Include" code into your theme (you can find this in the 'Usage' section underneath the slideshow settings) + +* Go to Appearance > Editor in WordPress +* Edit a file called 'header.php' (or similar) +* Find the correct place to add it (for example above or below the logo) +* Paste in the code and save. + += I only want to show the slideshow on my homepage, how can I do that? = + +Add the 'restrict_to' parameter to the shortcode, eg: + +`[metaslider id=XXX restrict_to=home]");` + +Theme specific instructions: + +http://www.metaslider.com/documentation/theme-integration/ + += It's not working - what can I do? = + +Check out the troubleshooting page here: + +http://www.metaslider.com/documentation/troubleshooting/ + += Meta Slider is cropping my images in the wrong place - what can I do? = + +See www.metaslider.com/documentation/image-cropping/ + +== Screenshots == + +1. Meta Slider - for live demos see http://www.metaslider.com/examples/ +2. Nivo Slider example +3. Coin Slider example +4. Flex Slider example +5. Carousel Example +6. Administration panel - selecting slides + +== Changelog == + += 3.0.1 [19/08/14] = + +* Fix: Escape admin setting text fields +* Fix: Escape admin tab names (thanks to Dylan Irzi for spotting and reporting this!) +* Change: Allow shortcode parameters to be filtered + += 3.0 [30/07/14] = + +**This is not a major update. We're just following the WordPress versioning conventions (3.0 comes after 2.9)** + +* New feature: Set crop position for slides (requires WP 3.9+) +* New feature: Disable cropping setting +* Fix: Use get_posts instead of WP_Query to extract slideshows (fix conflicts with plugins using get_post_type in admin_footer hooks) +* Change: Add filter for capability required to use meta slider + += 2.9.1 [15/07/14] = + +* New feature: Hungarian Language Pack added +* Fix: Escape attributes and JS in slideshow output (credit to jwenerd!) +* Fix: Escape attributes and text fields in admin +* New feature: Admin slide tabs can be modified with filters + += 2.9 [25/06/14] = + +* New feature: Japanese Language Pack added +* New feature: Persian Language Pack added +* New feature: Switch between tab and list view +* New feature: Added ms-left and ms-right css classes to align slideshow to left or right +* Improvement: Flex Slider updated to 2.3.0-bleeding (fix initial image fade) +* Fix: reference to window.parent in media library +* Fix: Thumbnail outline in firefox + += 2.8.1 [28/04/14] = + +* Fix: All in One Events Calendar conflict fix (Advanced Settings not toggling) +* Fix: CSS resets to avoid theme conflicts +* Fix: Autoload visibility conflict (http://wordpress.org/support/topic/autoload-visibillity-conflict) +* Fix: Layer Editor in IE11 - text fields not accessible in modal windows +* Fix: FlexSlider IE11 Fade transition + += 2.8 [28/04/14] = + +* New feature: Russian Language Pack added +* Fix: Carousel image scaling in FireFox +* Fix: wpautop issue with double ampersand +* New feature: Shortcode parameter added to restrict slideshow to displaying on homepage only (see FAQ) +* Improvement: Save slideshow after reordering slides +* Fix: PHP Warning when no slideshows have been created + += 2.8-beta [16/04/14] = + +* Improvement: Preview now uses admin-post action +* Improvement: Classes are now auto loaded to reduce memory footprint +(Thanks to Viktor Szépe for the above suggestions!) +* Improvement: Slideshow initilisation time reduced +* Improvement: HTML5 Compatibility: Alt tags always present on image tag - even if empty. +* Improvement: Flex Slider slideshows should now 'reserve' a space for themselves while they fully load +* Update: Flex Slider updated to v2.2.2 +* New feature: Romanian Language Pack added (Thanks to Octav Madalin Stanoaia) +* New feature: Dutch Language Pack added +* New feature: WP Super Cache compatibility - cache is cleared when saving slideshow +* New feature: HTML5 Compatibility (Experimental). Set `define('METASLIDER_ENABLE_RESOURCE_MANAGER', true);` in wp-config.php to move Meta Slider link tags head of the page. + += 2.7.2 [25/03/14] = + +* Fix: Only apply carousel margin to slides +* Fix: Enqueue Easing library when carousel mode is enabled, regardless of effect selection +* Fix: Thumbnail margin when theme has #content div + += 2.7.1 [19/03/14] = + +* Fix: Remove easing parameter when effect is set to fade +* Fix: Navigation options greyed out in IE +* Fix: qTranslate captions not being processed (typo) + += 2.7 [18/03/14] = + +* New feature: Crotatian Lang pack added +* New feature: Carousel margin option added +* New feature: Process shortcodes in captions +* Improvement: Tab rename UX +* Improvement: Admin save spinner functionality improved +* Improvement: CSS Resets updated +* Improvement: Use plugins_loaded action to initialise plugin +* Fix: PHP Warnings when one slideshow exists +* Fix: Smart Cropping sometimes not returning smart cropped image +* Fix: Add z-index to meta slider, attempted conflict fix for themes with drop down menus. +* Fix: Only include the easing library when transition effect is set to slide +* Fix: White Label Branding plugin compatibility. +* Change: "Responsive" option renamed to "R. Slides". The (old) "Responsive" option refers to the "Responsive Slides" jQuery library, but users were getting confused as the naming suggested it was the only responsive option. Flex Slider & Nivo Slider are also responsive. + += 2.6.3 [23/01/14] = + +* Improvement: Various admin screen styling improvements +* Fix: Add 'ms-' prefix to Advanced settings toggle boxes and Preview button (avoid theme conflicts) +* Fix: RTL fixes +* Improvement: Filters added for complete slideshow output +* Improvement: Filter added for slide image label +* Improvement: 'No Conflict' mode refactored +* Improvement: 'slider' parameter added to flexslider before/start/after etc callbacks +* Change: Renamed in admin menu from "Meta Slider Lite" to "Meta Slider" + += 2.6.2 [02/01/14] = + +* Fix: Vantage background image tiling + += 2.6.1 [31/12/13] = + +* Fix: Advanced settings arrow toggle +* Fix: All in one SEO / Page builder / Meta Slider conflict +* Fix: NextGen "Insert Gallery" conflict +* New feature: Norwegian language pack added + += 2.6 [19/12/13] = + +* Fix: Typo in metaslider_responsive_slide_image_attributes filter +* Fix: Caption not working in Nivo Slider +* Fix: Tab styling improved +* Fix: New window styling improved in WP3.7 and below + +More info/Comments: http://www.metaslider.com/coming-soon-meta-slider-2-6-free/ + += 2.6-beta [15/12/13] = + +* New feature: Interface update for WordPress 3.8 admin redesign +* New feature: 'Stretch' setting for full width slideshows +* New feature: No conflict mode +* New feature: 'Add slider' button for posts and pages +* New feature: SEO options (add title & alt text to slides) +* Change: CSS is now enqueued using wp_enqueue_style (Use a minification plugin or caching plugin to move styles to the if HTML5 validity is required - eg W3 Total Cache) + +More info/Comments: http://www.metaslider.com/coming-soon-meta-slider-2-6-free/ + += 2.5 [25/11/13] = +* Fix: JetPack Photon conflict +* Improvement: German Language pack added (thanks to gordon34) +* Improvement: Chinese language pack updated (thanks to 断青丝) +* Improvement: MP6 styling fixes + += 2.5-beta2 [14/11/13] = +* Fix: Vantage theme backwards compatibility +* Fix: Flexslider anchor attributes filter + += 2.5-beta1 [12/11/13] = +* Fix: Center align slideshow + += 2.5-beta [12/11/13] = +* New Feature: 'percentwidth' parameter added to shortcode to allow for 100% wide slideshows +* Improvement: Generate resized images through multiple Ajax requests on save (blank screen fix) +* Improvement: IE9 admin styling tidied up +* Improvement: Filters added to add/change attributes in and tags +* Improvement: Security - nonce checking added +* Change: Remove bottom margin from flex slider when navigation is hidden (add a CSS Class of 'add-margin' if you need the margin) +* Fix: Add slides to slideshow in the same order they're selected in the Media Library +* Fix: Symlink path resolution +* Fix: Do not try to resize/open images that are corrupt (missing metadata) (blank screen fix) + += 2.4.2 [17/10/13] = +* Fix: qTranslate caption & URL parsing for image slides + += 2.4.1 [17/10/13] = +* Fix: PHP Warning (reported by & thanks to: fgirardey) + += 2.4 [16/10/13] = +* Fix: FlexSlider styling in twenty twelve theme +* Fix: IE10 - "Caption" placeholder text being saved as actual caption +* Improvement: Settings table tidied up +* Improvement: New slides are resized during addition to the slideshow +* Improvement: Default slideshow size increased to 700x300 +* Improvement: Image filename now displayed for each slide (instead of image dimensions) +* Improvement: Replace deprecated 'live()' jQuery call with 'on()' +* Improvement: Polish Language pack added (thanks to gordon34) +* Improvement: Chinese language pack added (thanks to 断青丝) +* Improvement: 'metaslider_resized_image_url' filter added (could be used to disable cropping) +* Change: qTranslate support for slide URLs (see: http://screencast.com/t/FrsrptyhoT) +* Change: PolyLang fix to ensure slides are extracted for all languages (set up a new slideshow for each language) +* Change: WPML fix to ensure slides are extracted for all languages (set up a new slideshow for each language) + + += 2.3 [18/09/13] = +* Improvement: Flex Slider upgraded to v2.2 +* Improvement: Responsive Slides upgraded to v1.54 +* Improvement: 'Create first slideshow' prompt added for new users +* Change: 'scoped' attribute removed from inline CSS tag until browsers catch up with supporting it properly. A new filter has been added: "metaslider_style_attributes" if you wish to add the scoped attribute back in. +* Change: wp_footer check removed due to confusion +* New Feature: 'metaslider_max_tabs' filter added to convert tab list to ordered drop down menu +* Fix: Remove 'Insert Media' tab from 'Add Slide' modal (WP 3.6 only) +* New Feature: Filters added to allow modification of image slide HTML +* Improvement: Settings area tidied up +* Improvement: Image URL Field less restrictive +* Improvement: HTML Output tidied up + += 2.2.2 [21/08/13] = +* Improvement: System check added with option to dismiss messages. Checks made for: role scoper plugin, wp_footer, wordpress version & GD/ImageMagick. + += 2.2.1 [08/08/13] = +* Fix: Responsive slides styling in FireFox (reported by and thanks to: dznr418) +* Fix: Flex Slider carousel causing browser to crash in some circumstances + += 2.2 [01/08/13] = +* Fix: Paragraph tags being added to output using Nivo Slider + += 2.1.6 [22/07/2013] = +* Fix: Use the original image file if the slideshow size is the same size as the image file +* Fix: Conflict with Advanced Post Types Order plugin +* Fix: Colorbox conflict when using resizable elements in lightbox +* Improvement: Refresh slides after clicking 'save' +* Improvement: Ensure taxonomy category exists before tagging slide to slideshow +* Fix: Only submit form when submit button is clicked (not all buttons) +* Fix: Coin slider caption width in FireFox +* Improvement: Added hook to adjust carousel image margin + += 2.1.5 [24/05/13] = +* Fix: HTML 5 Validation + += 2.1.4 [21/05/13] = +* Fix: Widget markup invalid (reported by and thanks to: CarlosCanvas) + += 2.1.3 [21/05/13] = +* Fix: User Access Manager Plugin incompatibility issues (reported by and thanks to: eltipografico) + += 2.1.2 [21/05/13] = +* Fix: Nivo Slider theme select dropdown (reported by and thanks to: macks) +* Fix: HTML5 Validation fix for inline styles +* Improvement: Title field added to widget (suggested by and thanks to: pa_esp) +* New feature: Spanish language pack (thanks to eltipografico) + += 2.1.1 [13/05/13] = +* Fix: PHP version compatibility + += 2.1 [12/05/13] = +* New feature: Widget added +* New feature: System check added (checks for required image libraries and WordPress version) +* Fix: Multiple CSS fixes added for popular themes +* Fix: Flex slider shows first slide when JS is disabled +* Improvement: Display warning message when unchecking Print JS and Print CSS options +* Improvement: Coinslider navigation centered + += 2.0.2 [02/05/13] = +* Fix: PHP Error when using slides the same size as the slideshow + += 2.0.1 [28/04/13] = +* New feature: French language pack (thanks to: fb-graphiklab) +* Fix: Use transparent background on default flexslider theme +* Fix: Set direction to LTR for flexslider viewport (fix for RTL languages) +* Fix: Nivoslider HTML Captions +* Fix: Responsive slides navigation positioning + += 2.0 [21/04/13] = +* Fix: Responsive slides navigation styling +* Fix: Update slide order on save +* Fix: Smart crop edge cases +* Fix: Flexslider navigation overflow + += 2.0-betaX [17/04/13] = +* Improvement: Error messages exposed in admin is Meta Slider cannot load the slides +* Improvement: Load default settings if original settings are corrupt/incomplete +* Fix: Smart Crop ratio +* Fix: UTF-8 characters in captions (reported by and thanks to: javitopo) +* Fix: JetPack Photo not loading images (reported by and thanks to: Jason) +* Fix: Double slash on jQuery easing path +* Fix: Paragraph tags outputted in JavaScript (reported by and thanks to: CrimsonRaddish) + += 2.0-beta = +* New feature: Preview slideshows in admin control panel +* New feature: 'Easing' options added to flex slider +* New feature: 'Carousel mode' option added for flex slider +* New feature: 'Auto play' option added +* New feature: 'Smart Crop' setting ensures your slideshow size remains consitent regardless of image dimensions +* New feature: 'Center align slideshow' option added for all sliders +* New feature: Coin Slider upgraded to latest version, new options now exposed in Meta Slider +* New feature: Captions now supported by responsive slides +* Improvement: Responsive AJAX powered administration screen +* Improvement: Code refactored +* Improvement: Flex Slider captions now sit over the slide +* Fix: Nivo slider invalid markup (reported by and thanks to: nellyshark) +* Fix: JS && encoding error (reported by and thanks to: neefje) + += 1.3 [28/02/13] = +* Renamed to Meta Slider (previously ML Slider) +* Improvement: Admin styling cleaned up +* Improvement: Code refactored +* Improvement: Plugin localised +* Improvement: Template include PHP code now displayed on slider edit page +* Improvement: jQuery tablednd replaced with jQuery sortable for reordering slides +* New feature: Open URL in new window option added +* Improvement: max-width css rule added to slider wrapper +* Fix: UTF-8 support in captions (reported by and thanks to: petergluk) +* Fix: JS && encoding error (reported by and thanks to: neefje) +* Fix: Editors now have permission to use MetaSlider (reported by and thanks to: rritsud) + += 1.2.1 [20/02/13] = +* Fix: Number of slides per slideshow limited to WordPress 'blog pages show at most' setting (reported by and thanks to: Kenny) +* Fix: Add warning when BMP file is added to slider (reported by and thanks to: MadBong) +* Fix: Allow images smaller than default thumbnail size to be added to slider (reported by and thanks to: MadBong) + += 1.2 [19/02/13] = +* Improvement: Code refactored +* Fix: Unable to assign the same image to more than one slider +* Fix: JavaScript error when jQuery is loaded in page footer +* Improvement: Warning notice when the slider has unsaved changes +* Fix: Captions not being escaped (reported by and thanks to: papabeers) +* Improvement: Add multiple files to slider from Media Browser + += 1.1 [18/02/13] = +* Improvement: Code refactored +* Fix: hitting [enter] brings up Media Library +* Improvement: Settings for new sliders now based on the last edited slider +* Improvement: More screenshots added + += 1.0.1 [17/02/13] = +* Fix: min version incorrect (should be 3.5) + += 1.0 [15/02/13] = +* Initial version + +== Upgrade Notice == + + diff --git a/wp-content/plugins/really-simple-captcha/gentium/FONTLOG.txt b/wp-content/plugins/really-simple-captcha/gentium/FONTLOG.txt new file mode 100644 index 0000000..354e4b9 --- /dev/null +++ b/wp-content/plugins/really-simple-captcha/gentium/FONTLOG.txt @@ -0,0 +1,153 @@ +FONTLOG +Gentium Basic and Gentium Book Basic v1.1 +========================================================== + + +This file provides detailed information on the Gentium Basic and Gentium Book Basic font families. This information should be distributed along with the Gentium Basic and Gentium Book Basic fonts and any derivative works. + + +Basic Font Information +---------------------- + +Gentium ("belonging to the nations" in Latin) is a Unicode typeface family designed to enable the many diverse ethnic groups around the world who use the Latin script to produce readable, high-quality publications. The design is intended to be highly readable, reasonably compact, and visually attractive. Gentium has won a "Certificate of Excellence in Typeface Design" in two major international typeface design competitions: bukva:raz! (2001), TDC2003 (2003). + +The Gentium Basic and Gentium Book Basic font famililes are based on the original design, but with additional weights. The "Book" family is slightly heavier. Both families come with a complete regular, bold, italic and bold italic set of fonts. + +The supported character set, however, is much smaller than for the main Gentium fonts. These "Basic" fonts support only the Basic Latin and Latin-1 Supplement Unicode ranges, plus a selection of the more commonly used extended Latin characters, with miscellaneous diacritical marks, symbols and punctuation. For a complete list of supported characters see the list at the end of this document. + +In particular, these fonts do not support: + +- Full extended Latin IPA +- Complete support for Central European languages +- Greek +- Cyrillic + +A much more complete character set will be supported in a future version of the complete Gentium fonts. These "Basic" fonts are intended as a way to provide additional weights for basic font users without waiting until the complete Gentium character set is finished. So please don't request additional glyphs or characters to be supported in the Basic fonts - such support will become available in the main Gentium family in the future. + +There are also some other limitations of the Basic fonts: + +- They are not completely metric-compatible with the full Gentium family + (some glyphs may have different widths, although changes have been minimal) +- There is no kerning +- There are no "Alt" versions, or ones with low-profile diacritics +- The default stacking style for some diacritic combinations does not match Vietnamese-style conventions (although this is available through a OpenType/Graphite feature) +- No support for TypeTuner + +There are, however, some wonderful new features that are still missing from the main Gentium family: + +- Bold! +- Bold Italic! +- The slightly-heavier Book family! +- OpenType and Graphite smart code for diacritic placement! +- A few useful OpenType and Graphite features +- Support for a few more recent additions to Unicode and the SIL PUA (http://scripts.sil.org/UnicodePUA) +- Character assignments are updated to conform to Unicode 5.1 + +In particular, the Basic fonts support a subset of the smart font features that the Doulos SIL font supports. Those features are: + +- Capital Eng alternates +- Literacy alternates +- Capital Y-hook alternate +- Capital N-left-hook alternate +- Modifier apostrophe alternate +- Modifier colon alternate +- Open o alternate +- Vietnamese-style diacritics + +More detail on the features can be seen in the Doulos SIL Technical Documentation (http://scripts.sil.org/DoulosSIL_Technical). + + +Known Problems +-------------- + +We know of the following problems. Please report any other problems you encounter. + +- logicalnot (U+00AC) appears distorted in Bold Italic and Book Italic. +- Opening the fonts with FontLab 5.0.x, then closing them, crashes FontLab. We are working to get this bug fixed in the next version of FontLab. A workaround is to open the font, save as a .vfb file, close (which still causes a crash). Then restart FontLab and open the .vfb file. + + +ChangeLog +--------- +(This should list both major and minor changes, most recent first.) + +4 Apr 2008 (Victor Gaultney) Gentium Basic/Gentium Book Basic version 1.1 +- Final release + +12 Nov 2007 (Victor Gaultney) Gentium Basic/Gentium Book Basic version 1.1b1 +- trimmed character set down to Basic +- added additional weights +- no FontLab source files + +28 Nov 2005 (Victor Gaultney) Gentium version 1.02 +- Changed licensing to the SIL Open Font License +- Included FontLab source files +- Fixed some duplicate PostScript glyphs names +- Fixed italic angle + +19 Sep 2003 (Victor Gaultney) Gentium version 1.01 +- Maintenance release focused on changing internal font +- Information to reflect the changeover to an SIL project +- There is only one bug fix - the Greek mu PS name was changed to try and fix a display/printing problem. There is still no manual hinting + +16 Sep 2002 (Victor Gaultney) Gentium version 1.00 +- First public release +- No manual hinting is included in this version. Some has been done - with good results - but is not yet complete enough. + + +Information for Developers/Contributors +--------------------------------------- + +The source release contains FontLab source files for the eight fonts, but those files do not include the OpenType and Graphite code, as those are inserted after the fonts are generated from FontLab. The files are included as a source for the PostScript-style cubic curves. You are welcome, however, to open the font files themselves to gain access to the smart font code, although most editors will not let you edit that code directly. We will provide a richer set of sources for the full Gentium fonts at a later time. + +SIL will remain as maintainers of this font project, but we do not intend any further major releases. Our primary efforts will be going into the full Gentium package. Any contributions should be directed toward that project. + + +Acknowledgements +---------------- +(Here is where contributors can be acknowledged. If you make modifications be sure to add your name (N), email (E), web-address (W) and description (D). This list is sorted by last name in alphabetical order.) + +N: Victor Gaultney +E: victor_gaultney@sil.org +W: http://www.sil.org/~gaultney/ +D: Original Designer + +N: Annie Olsen +E: nrsi@sil.org +W: http://scripts.sil.org/ +D: Contributed some extended Latin glyphs + +N: SIL font engineers +E: nrsi@sil.org +W: http://scripts.sil.org/ +D: OpenType code and build support + +The Gentium project, and the Gentium Basic and Gentium Book Basic fonts, are maintained by SIL International. + +For more information please visit the Gentium page on SIL International's Computers and Writing systems website: +http://scripts.sil.org/gentium + +Or send an email to + + +Character Range Coverage +------------------------ + +C0 Controls and Basic Latin (U+0020..U+007E) +C1 Controls and Latin-1 Supplement (U+00A0..U+00FF) +Latin Extended-A (U+0100..U+0103, U+0106..U+010E, U+011A..U+0121, U+0124..U+0125, U+0128..U+012D, U+0130..U+0133, U+0139..U+013A, U+0141..U+0144, U+0147..U+0148, U+014A..U+0155, U+0158..U+015D, U+0160..U+0161, U+0164, U+0168..U+0171, U+00174..U+017E) +Latin Extended-B (U+0181, U+0186, U+0189..U+018A, U+018E, U+0190, U+0192, U+0197..U+019A, U+019D, U+019F..U+01A1, U+01A9..U+01AA, U+01AF..U+01B0, U+01B3..U+01B4, U+01B7, U+01CD..U+01E3, U+01E6..U+01E9, U+01EE..U+01EF, U+01F4..U+01F5, U+01F8..U+01FF, U+021E..U+021F, U+0226..U+0233, U+0237, U+023D, U+0241..U+0242, U+0244..U+0245, U+024A..U+024B) +IPA Extensions (U+0251, U+0253..U+0254, U+0256..U+0257, U+0259, U+025B, U+0263, U+0268..U+0269, U+026B, U+0272, U+0275, U+0283, U+0289..U+028A, U+028C, U+0292, U+0294, U+02A0) +Spacing Modifier Letters (U+02BC, U+02C0, U+02C6..U+02C7, U+02C9..U+02CB, U+02CD, U+02D7..U+02DD) +Combining Diacritical Marks (U+0300..U+0304,U+0306..U+030C, U+031B, U+0323, U+0327..U+0328, U+0331, U+033F, U+035F) +Greek and Coptic (U+03A0, U+03A9, U+03C0) +Latin Extended Additional (U+1E02..U+1E0F, U+1E14..U+1E17, U+1E1C..U+1E27, U+1E2E..U+1E3B, U+1E3E..U+1E49, U+1E4C..U+1E6F, U+1E78..U+1E99, U+1EA0..U+1EF9) +General Punctuation (U+2011, U+2013..U+2014, U+2018..U+201A, U+201C..U+201E, U+2020..U+2022, U+2026, U+2030, U+2039..U+203A, U+2044) +Currency Symbols (U+20AC) +Letterlike Symbols (U+2122..U+2123, U+2126) +Mathematical Operators (U+2202, U+2205..U+2206, U+220F, U+2211..U+2212, U+2219..U+221A, U+221E, U+222B, U+2248, U+2260, U+2264..U+2265) +Geometric Shapes (U+25CA, U+25CC) +Latin Extended-C (U+2C60..U+2C62) +Modifier Tone Letters (U+A700..U+A71A) +Latin Extended-D (U+A789..U+A78C) +Alphabetic Presentation Forms (U+FB01..U+FB02) +SIL PUA (U+F130..U+F131, U+F195, U+F197, U+F1C8, U+F1E9..U+F1EA, U+F20E..U+F20F, U+F211..U+F212, U+F218..U+F219, U+F21D..U+F21F, U+F242, U+F26A) diff --git a/wp-content/plugins/really-simple-captcha/gentium/GENTIUM-FAQ.txt b/wp-content/plugins/really-simple-captcha/gentium/GENTIUM-FAQ.txt new file mode 100644 index 0000000..ec803d5 --- /dev/null +++ b/wp-content/plugins/really-simple-captcha/gentium/GENTIUM-FAQ.txt @@ -0,0 +1,249 @@ +GENTIUM-FAQ +Gentium Basic Release 1.1 +4 April 2008 +======================== + +Here are some answers to frequently asked questions about the Gentium fonts: + + +General +======== + +How do you pronounce Gentium? + + The preferred pronunciation is with a soft G as in 'general', not a + hard one as in 'gold': JEN-tee-oom. + +What is GentiumAlt? + + It is a version of the font with redesigned diacritics (flatter + ones) to make it more suitable for use with stacking diacritics, and + for languages such as Vietnamese. The Greek glyphs also use the + Porsonic (single-curve) design for the circumflex. Since the main + Gentium fonts do not currently include any 'smart' rendering routines, + there is no easy way to access these alternate diacritic shapes from + within the regular Gentium font. The encoding of the fonts are the same, + so the same text can be viewed with either one. There is also no + problem with having both font families installed at the same time. + + +Licensing +========= + +I want to use Gentium in my publication - can I? + + Gentium is released under the SIL Open Font License, which permits use + for any publication, whether electronic or printed. For more answers + to use questions see the OFL-FAQ. The license, alongside information + specific to Gentium, is in the release package. + +I would like to bundle Gentium with my application - can I? + + This is our most common question. The SIL Open Font License allows + bundling with applications, even commercial ones, with some restrictions. + See the OFL file. + +Can I use the font on my web site? + + You can certainly create web pages that request that Gentium be used to + display them (if that font is available on the user's system). According + to the license, you are even allowed to place the font on your site for + people to download it. We would strongly recommend, however, that you + direct users to our site to download the font. This ensures that they + are always using the most recent version with bug fixes, etc. To make + this easier, we've simplified the URL for Gentium: + http://scripts.sil.org/gentium + +Is Gentium going to stay free? + + There is no intention to ever charge users for using Gentium. The + current version is licensed under a free/open license and future + versions will be similar. + + +Modification +============ + +I would like to modify Gentium to add a couple of characters I need. Can I? + + Yes - that is allowed as long as you abide by the conditions of the + SIL Open Font License. + +So will you add glyphs upon request? + + If you have a special symbol that you need (say, for a particular + transcription system), the best means of doing so will be to ensure + that the symbol makes it into the Unicode Standard. It is impossible + for us to add every glyph that every person desires, but we do place + a high priority on adding pretty much anything that falls in certain + Unicode ranges (extended Latin, Greek, Cyrillic). You can send us your + requests, but please understand that we are unlikely to add symbols + where the user base is very small, unless they have been accepted + into Unicode. + +Can I send you work I've done to be incorporated into Gentium? + + Yes! See the FONTLOG for information on becoming a contributor. + + +Technical +========= + +Can you help me get Gentium working on my system? + + We cannot afford to offer individual technical support. The best + resource is this website, where we hope to offer some limited help. + However, we do want to hear of any problems you encounter, so that + we can add them to the list of bugs to fix in later releases. + + Our contact address is . Please understand + that we cannot guarantee a personal response. + +I can't find all the extended Latin letters in the font. How do I type them? + + Gentium is Unicode-encoded, which means that the computer stores a + special, unique code for each letter in your document. Since most + keyboards do not have hundreds of keys, special software is needed + in order to type the hundreds of special characters supported by the + font. + +I can't find the 'o with right hook' in the font. Where is it? + + Combinations of base letters with diacritics are often called + composite, or pre-composed glyphs. Gentium has hundreds of these + (the ones that are included in Unicode). There are, however, many + common combinations that are not represented by a single composite. + It is possible to enter these into a document, but only as + individual components. So 'o with right hook' would be entered as + 'o', then 'right hook'. Although this may not look very good in some + cases, we're not able to anticipate every possible combination. + Future versions of Gentium will include 'smart font' support for + technologies such as OpenType and SIL's Graphite. This will make + diacritic positioning much better. The Gentium Basic fonts do, + however, include limited support for both OpenType and Graphite, + and demonstrate the type of support that will eventually be provided. + +Some diacritics are not aligning well with base glyphs, and if I type more +than one diacritic, they run into each other. Why is that? + + Gentium currently has no 'smart font' code for automatic diacritic + positioning, but the Gentium Basic fonts do, and similar support will + appear in the main fonts in the near future. + +How do I type the Greek letters? + + You need a Unicode-compatible keyboarding system, which is not + included in the distribution package. + +I'm having problems making PDFs -- why won't my document distill? + + Gentium is a large font, with lots of glyphs. As a result, some + printers can balk at PDFs that have the complete font embedded. The + easiest way to avoid this is to have Acrobat/Distiller subset the + font. This is generally a good idea anyway (with any font) and can + reduce the size of your files. + + +Basic +===== + +How are the Basic fonts (Gentium Basic, Gentium Book Basic) different +from Gentium? + + These font families are based on the original Gentium design, but with + additional weights. Both families come with a complete regular, bold, + italic and bold italic set of fonts. The supported character set, + however, is much smaller than for the main Gentium fonts. These + 'Basic' fonts support only the Basic Latin and Latin-1 Supplement + Unicode ranges, plus a selection of the more commonly used extended + Latin characters, with miscellaneous diacritical marks, symbols and + punctuation. In particular, these fonts do not support full extended + Latin IPA, complete support for Central European languages, Greek and + Cyrillic. + +What is the Book weight? + + It is a complete second font family that is slightly heavier overall, + and more useful for some purposes. The main Gentium family will + eventually have a complete matching Book weight, along with matching + italics. + +Why is the line spacing greater for the Basic fonts? + + In some environments, stacked diacritics in Gentium could display as + 'chopped-off'. Gentium Basic has slightly wider default line spacing + in order to avoid this problem. Most applications do, however, let you + set the line spacing explicitly, so you can have the lines spaced + precisely as you wish. + +Will you be accepting requests for additions to the Basic character set? + + No. We are now focusing our development efforts on the main Gentium + fonts, which already provide richer character set support. + +Is there an Alt version of the Basic fonts? + + No, although you may notice that capitals and some tall lowercase + letters do use 'low-profile' versions. + + +Future +====== + +Now that SIL International has taken over Gentium, who will be the next +designer? + + Victor Gaultney will remain as primary designer, but Annie Olsen, a + fellow type designer from the SIL Non-Roman Script Initiative, has + joined the project team. She is a former calligraphy teacher, and is + well suited for the task. Other members of the NRSI team will also + add their expertise in technical matters. + +Do you plan to include other typographic enhancements (small caps, old style +figures, etc.)? + + Those would be nice, wouldn't they? From a design point of view, + it would be great to have these refinements, and we haven't ruled + them out. But there are other needs that are much higher priority + (Bold, Cyrillic, etc.). If you think you could contribute some of + your time and effort to these enhancements, see the FONTLOG file for + information on becoming a contributor. + +What about bold? + + The Gentium Basic fonts include Bold and Bold Italic versions. The + main Gentium fonts will also include them in the future. + +Sans-serif? + + There is a definite need for a sans-serif font that shares some of + Gentium’s strengths -- high readability, economy of space, etc. It + would also be great if that font also harmonized well with Gentium. + We don't currently have any plans for a companion face, although one + of our other projects - Andika - may be useful. Andika is a sans-serif + font designed specifically for use in literacy programs around the + world, and is available from our web site. + +Will you be extending Gentium to cover other scripts, and Hebrew in +particular? + + It is very unlikely that we would do this, as there are so many + pressing needs in Latin, Greek and Cyrillic scripts. But you could + contribute to the project. + +When will Cyrillic be completed? + + As soon as we can get it done, but it is still a few months away. + +I need a couple of ancient Greek glyphs, such as the digamma. When will +those be ready? + + These have already been designed and will be in the next main release. + +Will there be a Type 1 version? What about OpenType? + + The next generation of Gentium will have OpenType, Graphite and AAT + support. We do not plan to produce Type 1 versions at this time, but + please write us if this is important (and tell us why). We are, however, + considering releasing a version in OT-CFF format, but it will not go + through the same careful testing as the standard OT/Graphite/AAT version. \ No newline at end of file diff --git a/wp-content/plugins/really-simple-captcha/gentium/GenBasB.ttf b/wp-content/plugins/really-simple-captcha/gentium/GenBasB.ttf new file mode 100644 index 0000000000000000000000000000000000000000..0538a008c24ee31caa046596d07898d88bb0e4ee GIT binary patch literal 271648 zcmeFad3;nw7B5~^x3?s{Z`qU19+HrKBZQD0!oCDZkbU1}69EBn0RQvRKQ>UuF zb?d@7W6X_8H?>`MW%2@pZ#&pSDri`5ZTKX|F6Hks{tVfS7Q*Io+`}x%cOnko`&+B{l z&&gj~I6eW-HiG|%{u8H+8@cDHSxo$NiSg`g{GM|8yKfF4|7&=jJbLQL=@oa(zKgM* z_-Sn%J!iIuFV%NpY-l3_qQ*@hKULSfz68Igql~l0kDN7~g);+V!@iIS#!s0yZr-0( zjKFX3|FCev*pXwt-ILp!iNbU|FP?yaux8z3_>DL$dBW7$bEgjY@?reGlQH9T6o2Hp zx7yEPqVf{TUp95*-09lRnjuVd$whq6w2@QCe*Iy@oA}*_v8uf3H_n>9i1n{v;%=mm z8b5vJ*y$g<)v}a{P3I7QCX=!@vePK*875c~Q$Ub6md!arPDa2G?(SH^zAn4$gcy zACButJ{s4t{25&T#DBr{3crHuHST3xFk!*fCW>$^5g*|CmH3(|;;gug>#yQhT(632 zxVDN`rYKx7;2Nexp*9-SP_PW7_zKsrkuDMG&LZ$z@hwXi=fpV{Bfb;gv1oB#oCojk z#rG^uTo4zSQ~V%)U>h03ZSsUj|<8p=|k9UNV3 z8Z-@ z#o6s}C;|K$85TaB@to}3Y^H^-?q-=#+0Ag<;C8_6f_s$-;~Rdz{Jo1Q#)JOfhyC|g zahHDRkMTI}rzqU#mub$>Z(khr4&p1rWtz5b7tf%d6@0y z2y>h{*_>g{H5U_=o2$)T&Antv&5eP0gUut%|^suqAyIV&1cOQ%$JR;%-1Z!Vt_MSoR%ny z2QJl;rRHnNSL0bqEfqwymTrNtK5CgQ11&>{Mp-7PHL^?##G4)P%@3qltjfT$)N-$7 zm1V7EgJp9d-Zr(&mK~N|mRBviAeTj!H!N>ReX$(0947j}l7$e`A31(`NlPN|w> zIb%8JYiY|x(>h;$Ex%a2Rt;RJ)vD%Zbz5VI60PZ~9$2#jPYbPOl1wYCm1+xG>s1L^ zdj#V33#4tb4zrGdn`E7Conu`9cf0j&RW8;Q0pIFCEiVSRtg~(;+F}Z5lXZI_#fz%` zSz7`r_FDH79kL#=9wRzoJsqgg*VgmaOK^$SD>g=?vl(r6qKIItLI%NjaW+XhaPf!P zl2y&IW!Q3wif!d;scZp#wic=~uywWdB5Je^wvDijvrVzhw9Qr9+_p%qx$RCXvAvt|Ubt2EKK6luWl%`s^Fjo)YY}_RRq<+XC@+5SLxnE%sLf`M#m%VY{a4 zeXykVgZ9Jr58#dm`=I@lswKfzu%Drt8|>%o7uEK){}PakS8WATqFNS*MwOK#R4u8) zs+P*(4m^zsq)1dt3a#^NlOsKlBHK|&R2I}fwFMnzj!L!6j(SyA!L;^(3>-Zi{fL?z z!_?9{#;E$@nBsmLah1#zr%Y;}+9O6^C%_HYF(mn&7} z=gM;ByGo7ITotZbb?kO^Q>Eq#jLEKns!enaQJ-1^BaU;ust2x7t_iMbaI;y#>&U>>eBu5&~e zgPQI7MJi{KD#yUP$H|_t;)b1qslp`5$?obn3{(>U6qhK zTeV2;LbX)xGK`fVccr^tP3!KVTB)EmxdSs4cT*tVFjWTbG44sGz3xfw=|MRM`@VaQ zd7pcMoKL!M52U!;y@F`9d!0HzwVVmmZKFEZb8k^)&$zdzCW`UvSLpf~U9Z#ijJ$fW zO2V~DUaxy8q_;0l>w1JIk-wF$KguicjXM!;q>!uf>eZ0{b9ogJx_$C0(~1bmQ%RLq zO`%LBN_CC6^6OjWmBM>ac!h2qLMkX#mG(#YtE699OdQrw%r9k3rGv~x=^&qKwo~}G z@~WFjPn)!Z@w7=k)g2(tQ8GkCQT!qbQFK5B_&FIOt`Pq)y0+5O2&#pNO87N}e@fwV zsDyK5Dy@M+xc&!lh@kL!`s47=qg*_c>ax6Q^}ZY>Pu{A1R$gTs-b!(vqNg=f!Wx;Q z=5G{|O?-xszYj^Q52Z?zsWcNQ{2eVY55+9Qu|AjK)s*8u--&dARI|Ke3s7Be6 zzj71BTtFN~NjZp}l>1J}N9>eO719T7AL4UWKIK=bJQhk7L9Jt=_$C=&%p(ab(rto& z5rq$<@V`)An<6 zK2@Hfr(1lSDZHz!spv{FOs4P}iU~9f@%zcE*s9wnuQFWISB7YN%b5Hcwa!V3PZC!C zLL4G=XAz%CISU0EIk2d~T6^G)H`?DE>Gq=TMR!m7l*#wXV@!L|)YQc`N06mD)O+G`~g*Yy?`3 zt08gF>yZu~M9QhCT=} z6aO00soLrHGED7+WNjG&mmQklP`kk=@r z7jf9w$@t4rkPMrOm5^+L7*BB&l3Nb-@f`V745nNP z^_p}l?I%={dAfZFS4es;YCD(Yqfjk0S;XfqDQDi1`1Gfcg_Qd_lHOzFzm@zEQoF=T zse!1M>}wI!?uyiT*tE0qDV27m7a^J}#H~iQpmLDH<9%0I22B+`okg6hsLZ}v*U6{6 zPL`kFO10P^WAbw(AB7}2&)`O0FA}#GDZW$2)cPz*FRIHS>Y-goix^!aWUo=oB!?Wj z*60glE##HINo9DGxREZ2e^BlVsdc`mr{B}l?3o`b1C?z!#hE926R-1MWjmTEd=%-`JSy!<@|&o| zwK8}1i@frER1ypt6f4H2(aD%KDEFnkCzEr}#RE9_ic!I5mYS z*_1()YbrLC6IGkKntBm6ng*Ljn8v|PG0im1H7zpTX72tBle9n9k?iaJyqOpX+SuJi$j3p5+-I8r7Br3C1TIz{9+np^Ek0>j_NubC z>{lgZITYY>B#`2mlZ|4trvWyw_dhhvteV@CM=h1 z2DS7-eX*HU4YN7b+-y;5J!~FZDp3|`32Ct{A8iIQ&$gA?DkNDi+iGpyi2B$Ds=8|% zVjE>$54XuSL6w1RTEI73t+{Q!ZLuVCs%@!SOWVBx&Z}%|jpyMm1^bL`gKe`<$8Fne zJ0w|iZMy=TU$wnq35B!T4%!YAePBDT>OIn)GJOnp(h|@s+Zk1}ZRczkZNI>IgZ99# zQEOxmRr9c0)souXwp4ozWRzu3RHYWQ5!OJv1vT5AuFBb-jTF@L?1gF@*~{#e_IkJ; z_I~yzzlH_0$v(_J#y-hD#<;>ho%FBVKF7Yme!C?RZk_#Z`wF7f_I0Z6+BXJr+hX4? z$)vN)vA<|*$DZ#1SPsG90-?#g1~-+B&KODY}{$J9e8WIl;UX?q26K)pj~(JLeNEb}n_^Yh46)r*oCs1DtEsdN?;o zEw(q==Qua3n&{jXc)CN?UFR-ULe5tMT;5P^qVu5hFwqCj<8q{vR?m4#)l=sgwH2J_ z0-U4NmX zRcL9EWOlmBT$PfnmtFO$*13A9B@NC6T>V^4u3>OvT$5BwW7_GO?waFTU_4>lrq;-H zyDEFv-KsQPE7Tqpv@bq8E~P>3OSZ(dn&txeE*dW_TP$15+gux+6CAx{3!;|(vDRqc3C|AKbIvQh1W&RW+MNtUvp9SXJ5a%qW<`sMgnQSKA}l8{HA^IHF{ChN>^_Tz9d%++FSN>h2ZDw^7wF_h6rW zc8_q6Q~9|A^Mha;xo4^pa?e%u**Z?uI`<;g(zx$bt#`2hx|gec#(jUFRBKe5<6f_h zR<;e8CrTO>oPoMGsd90ZsjcPS8Yum9YD>F!s+#TI9q{c7_ztLZTlc%}qmoP!?vDdc zPpbVRI1;z%6#?CF2Xp%(P=d3n1#VN{3+~I3phNxCaXP56ZaG(`J{>N?4ZfK^kn#VM z$onE%*ZmO!`#Pi=NRKok<^ zLRxJSX2CB|2%+a12dzJUkEkxuhoBZ)shqz@jXxrc;3JZN4@+Hy1uhpka_uSz#}vOq z&_pL%_jaO{`Ad}V@A0^~a-HnQ<9wL)AD{!iHMufHa`UgupQM%f?@{udw2}{{TGPs3 zbkhP;&`u&bFCrY)k9J9Jf_8L-MoLWJJu+PJrW^1A9}+s8r0vJ+Wqh7MPknfOI7#ex zm@ogCbR&)8`*g;K4$RW+1OK*2g2oHj)ZFir3N@Ml78O~oOoIK`A4MliwMc8BGj*dG=z2weES5-6bczi<(w@! z^W`#xFQ-~l4;6dqsUHECr4l(LhaBR06XkV(v#|V8$%yg9+p?lqZGeA$)~-1sv$g`*UJ!IPpQ5jK7`ov zIx5d&hH!9bCu_)2W zxhOFdC!Er@-6N@y;i$Dt+lN}DPWJ}0XR`grhUl>0^Ewn+CKLc+-+bs(L2jC8w7AB*r`Nk4a!RCiPBOdy^eDdaG5 znC0J%_yO^6Bgy#pFsQz_lN@rWRIgCUdyu~eY0h$zh7avsL?!g?H_RsfvtMg&UuFq1qmqzd!Sx25smYj505FQQdA(89xQe%alG*eF{ zd4Ov7BBkmmZ6nW?l7S9L^n5lw-6^dZzm;;im1aAuX{?z=9DMt}_1cYy|03-}JS%O5 zGECM^8AkG?yG`I|@%H<282sHOaG6(H6B^XDCS9-U;l2Pat^Y#nnlCpR+} z=%36DdLL(U!r3n@0`zAV2^x%35>Yr=5Y3`76vu#euw<6Zb65&!D^5D3;v7sGsEMV6 zZe;C15iA4L8R;_FGb{^qgtZ4XvTV>4mIGSAazR>_2l|fXvwZAP7l011LeL|u2o%qX zLETshQ7J1$={kU}u`*VMd0t1*a8?eQhBG;x0A<&LOso!c6RQV}VqHMHSy#~gtbsM~ zZ1C&GK4slmcb>_5fV?=g)Dv8Lfo!Zd=w8+bG?DcMea!lScCr4T2GpRDTi5_LfTy#8 zpi68J=n!h(#5S>J&>fK3VBBv2-OYx8dP71(A)8U4f3VS@xoiw*AREiZavK{5N@L?e z(QE?IMC5&zO#)3O+5(wPfh4Aal2O-bNO2>mmQ4qZWHUfNu$iDpHVbr~%?5o98Qg?3 zNpnE6*v+8T$ayYKGtC37VDmvwuv|}9 z+5s870MejkcJmONiQ2<1;8fIGJQ~jrvM<=%AUEWCi2cOg0nKOcf}UjWflji+pcCwG zppT$gN7(n!-1nhFM?r71zk}Md4?ru~hwMY1#EyZsBko6#)@jgnoV@y++v)7p3pjiA z74-UR_BGez6xKKFP4+G59d-_M47&LpBy^sg=Pu;)JxfGMFR+V{_YWx1MRt)3_9I9S zUAP22`U&(iy9|09_n+As^rv6g680--2D<`su&eAUW)jyxPoXT=p?6-;Uc9T($}+Ge z$#^2iA3KZ})4*LGLt-y-4SL{muI1=6T*r0nWv)kw`*Q<${e_1>jzv6_hq4cN7$}t+ zxsl~^6DWq8K~dZS-R;7y+{!As4VqWO?U2H=+`%0zi#xfKt>-S(^D=jHH%sN=Je*bV z2p+-gJQA(g4?LpSDISe>+5oOG>@<(%v1~1mgZA|0@pup9IQMW5TgDU6KhK~ZiHMN| z%HYX7nf2f)JcYfE(xtKoc^Xe+Q9K=eDTlY??N|b0Wv~%E6Fu{3o&|F7_Ry{UJR1b7 z1H048b73jI;d!uSMxM{}(T@vw0b9%qc_Hh>i+B;s=Ec02-O5XN3Hywf@>2FI@4(A2 zI&|c)8N8gAGYjv8QQE^Rcm;ZMXWp4r^GZ+(ui{nA%&U1d>&k0*4SSx~@>*8N>+tTx z9$wGu*$uo4@4^Q0uDmO|k2mlJ_A2kjyRj;q-Rr@Q@}9gWTDTYQ#s12B^WLlv2Qe4# z3o`P4AT93?YR4Nv5qtnBo)6>$*)~3i4`L7VCf>w`@McgrAIt}{yZ8=izj&t zFXoF`7{86*#zOh+{B~B)?*KXZo%~MrC11jqu%#TtHuJmqU96PfjhWO&zKkzpI=-AQ zXL0-J z&93l=_(Lp(uiX1*DE{}g|UeaE-(Es)65AT8g@x57?7gOi+xagy^- z=mFdLv*;bq@#omb{CQ9U-@$jFG%xTMpm{Iy7jfG6&-~BmV>|gy){DQyUqb)f#don2 z{AKJ>+(IL%MP-hIwLhaLQaf59U8m;6gMk)OedT@U|?e+9k#ntzR+{|)~J`g)e1 zW%u%LLAm@KKZoA?9siC^;ph2zX5-(3()k5`0ebTT{{b3ykzZu*@*nw+tQ)_?FTr;F z#D9X#x{UWDQ~1vy4gUova(|!`xo_h{?lsn#U+34^Xzs=7+?Db$C;J8loU_3Kf2`%cFCs()%M_6!k}VTa zB8puW(IT2%7cnA+%@(mDmdz7!B91*K;zc~G5FX*-4v`=d*sUT_B(i-XNhGneB3UFe zhe#1AELNn7RJL8Di8P$|O&94bU$hhLSRauAbgoupi7XsvZ7(nmi)@k2c8VO4!@7%H zk;~&mp2%YZM83#pn?->rV8cYAC}cm1B2mPS;UsejyHS*iQXVBbhz_iuC=+Gu9nn#A zWa~t^D95SYPNEYxi3(A{7K+ZIGutXEMJ0P&REa9~q^K6v+$m~A4ZB;^idvj+t`l`^ zmZ%r?EJ<_`UDzX{tLVz}MT2NyM?^Q#jU|ZgqB~n9dWatEE74Q*WDTO1=*22UZ_%5z zh(4kZ*NMKOFE@*Rq8~dc`iuVTRnaIK+1Fx#7{Hzt1I0kLR}2!E5sD_!#9kN8qM2GXfc{c ziZNmgn=i(SvFuM`oEXRcEXIrRtgo0LCa_LoqL|3~i%DV`QTrxP`@w1!4i4Ar^{-I2OG~EMigOR&guaA{L9qY^k_S z+{Qi=w~O0(hPXrA!Tu`l6nAo)SR$6Nabl@h$}Wk!#9d5?yT#p1FP4dAyg)1$%h>^O zkGO~ZQ`{@=Wj)1x;y!k#SRq!hGO<#uWCz9l;(j(tJRlxm9mOiKip>=diU)b9SS?nw zZ^c96Ar>yyh&61acvw8lqs3aWmWPW+#3L+QtP|^)PCP0eWd&lrSkG$2W8yLPrr01h z@D%a5c$~+JjbbDFn|MMz!Hr^**u=BMlj2F%C^n1DIKTdsc#2IDTf`Rj5An2kniYzz zVk_G%o)OQmkHj{yjja`b5`SW$V!PPR)5NplSvFHVC!S;V;(75rn=ZlMBJq-ViIs|7Vi!vmFN>GCTeOH4o-JMxudrQWx7f|Di9KQu zH;7lot1LvkCSGIji@jnm8!rALF#8kx#6BJ&UKg*ki{cIO2F~CARs5CRBle5^?38#@ zyotl)2gCuK+J8&D#frs2ftk2?TfEIm#36Br^%n1lcbHwgE8b>ooU4f;seaebR5GvPO5YMvDgQn5o>@{#xU1r zm{~K-pBZMy46|R~UHbhFDFe@>A2VCL7T4xE-f)v~=^5T|YnzV3WE!|YoH+bWZWAv9 zzy0at9ka(IwjQgstyq)n#0q2|?gucJKZ>>9yI5U(fsnJ9<6p+FYk0N~CftCrz>N7Z z)-jj?U*jH(-&y~EdunY@u>Ah)${(Ft@jjph%6I*W4)4@nKct<3>vi&fuiYs9THv?1 z0=>a?Ij&yqHu8_c^^A5gN;Oud@+L_X5pg7kR$m+)aGUEtYH!EY>*Fl_UL$d%H(9+J zEl?Mv0v?5!GM9}gkARhzUy4YfFGa+*`BFp@eJLV>z7!GO=1UP#^rZ+ZeJMiU=1UPC z`cgzZeJLWr|D_1|jR+@wBO;N$yI`j8E*S8^1%*Y^*CFt|1x3f=+I$fL--A$0_>zPC zB7}p!2oXbHgs{;UAwuYj5IXuIgoVBcVW%%bxaf-zk@Q7~F!~}yGJO#ul)ebzMm>|L zo{3b?s5bTV`0FOWfARZT#Zs+es8(^mt5y8(Y8BC@R?+{lR+0b1wZc~}lyH0tLw@HX z;a_T{!%T#FCzBYB?47cv`0ffhf!{{i<`VO}ew}bKLEplFiC1JinOc6=q8rxXV)VS3 zQ<#~)ZV|&Y@*#cKLdLK%LEpNt4s2-j05=Lg@%bb#W#q^yvzc@B=&93L3|(bk1su%u zbVm%_C13fC5-n_s9W%B@J{@1)7^Ru5S&uMZZ3KGne#DWrV8B-7S1=-Ab&7%YC@8V~ zdWMXtA;0=d>;I+x#&iuN>t>(8p2w1Q4g5SYNz= z`Ms>SiRSwXeTPKQcS!uQr|*ym(i}`1@f{L5eFP`!6@tD)!s$CC0^cEl<)tr>$edK^ z7%}_bi50}_fm}JQDrBy{IGmXgAKw?@f0mqKy(K2&f5sDmhNS~T8w0#)F1|f-FR+ZA zKq(HgGq8?VF#k2fo+?OhWf55YDvDlwCGX-ZMUPY{SKw)lFBGe3iUsUSK1JJLg^n+) zkgp~X1|MvVeA+D#1|P!I+@^!y1x1f_s^oV8t5%iY^tL|qRW-$3{+PH^%B6vLayD{- za)ZxTD$J}QVHqZJ1HPLAzI(_gARmc;GU`>Kz@PFVPl-}m34s)lT|Ib6>`_lBqKR-q z3uH3}S|SlV4IvK-p$b}Bvm0m)9zv^TBdvnN5KC>ZUTC{e;Hes1t?0!u;+&KVzRZK8 zOZZlg)S&aY;`=*+7(Y;qi}dVA`Al4ru~9OCZ~e%cs~S_!JXq1CVZD13Z^cUB62C5D zv8q2KBKa`jIMGB@%=WSqT3y(if8A z3IDJX^5GR&)}R2$5(6R+4g^=Aw0)oz`i3TA^uZT@*$uqDWc`8E6%xh0dt* zjv#s4(UUG>6?hpEy9VnD$?=~sW(6fT4p?@p>_9*OFi*gYK|%k}0t3+lp9=vV69(kR z1O(0o%*_Fm%?)Iy4oK01KqVdm8u2hNh##33^Se*PKg2)9r+gK9v=O768+JWXkzXr{ zB78fM5bShd#M4kt`4uT0$=X1&4uPbV@&1H3fwBLjIEht-oB_0hhJA|_)lbl|EV4`4WRY^1 zqAADR6xLa3Qkr1Gcc^zZ2J2@OUw$+RH_b-IZmndVZYVwd^>66mf!27g3Z3^lzDA_; zidqi?PKrNelja<5_=!Jhx8$D_Ed<#c3Yo^>!S73KF=Q|sc$Wg{hw}vJXM3Q6WvFLY zU~5C6C1ZeREdu7W6bRA^AVjNx^E?LhW*bnKoxoE*2Tt%k*7(qStVv6-!mP%su{&0L zjabn&WA!!~tF6gcJKcnp&2p?$R$=Y25$&}PGwOFRWBw;>vQddvl9Y5MPwA`-S2ilo zDEs0pap7@kaUJ6t;%Wh+r_599*`AP?keVnGb%}VTIWa0R zE-^E)YvPE+u_=dA-pv~I^u0gi{qWEa5C3rRhqD(g7ws1#FUDW2zBuWsz{o3Qvk`h` zMK4N5FUbYcSp|Hu8!*HXsPzQ&3R&xA{#rkbT0agP>UoR|F9X9l0|ev}{{@<#O0}-S zin$wV-5;x2U#%wuYQ5}VYJC8!hxf!s3d7t?);f)9J!)}q$7#K=Ic$55?DJiY9PTz{>QwmR{%QH>0A`(OTA@4>8x{=D1etu?YWg5}{pq4nn0M_P{}NDqr% z*7_JrWEP4j-#)@$>o={Rww`J|*t(A~Z>aaaYw}dvzxhVt} zeLC;t8pclEBcGg{eR9Uh;U{xW<{tn4ALty6**>u~+IrjMT*&`tdBi$R`xp9g5s2SG zAZTBp)h+;u`h|Njp>PWix`qd6N}E3*CJgvUHCnSCzIy2GT&&|4NX?beu*Tht)hxrB zcB?NL*17&aA{{J}-KS@O z8-31}v*Xxpdl2i;57>R|VeGd36{yTnwt;OE$Ha%?BdqbB#eUFRShbB}qp@!_2D>_A zF@HIPouhZLlXRFjvvJrhI>O$^&eVAEGkbs?!@kjnYywv2a>r{Dtn6g$aZQ1(-H7oT z=m~bqW?^4#Hg?r+=8c#c&Bt!qE!aC-z*?~Tbt`ty76Vav2FTTJ>^5HJNx-G+G0u14 zmDnq&hDEA^O&W~7fW^S%7h=@E14z8Y>em6weiZ$51CZ;d&`VzdLcALY@yo!AUu7Qw zzkLZP>U+RPKLC#TIS|Y*VX@Al=jwpg;SCD@Guy#l5M6+Sbw%3`1di1N{Hht~)vd5z zx1lF51b%cEaG(W1lb!%F@)A&sJ-`ZH13It|I02Ai;Ja_}_kr8x0%Lp|_}V?Nd9R8W zu@mzXG;ljGK>_S%0`Q#au!U2B?%W8RXBsSQ4*MDC`LEc2i3D!G64>#6*ob$4tltaN z^$YCQT)_@a1kgYW(D98tm;D0UbR)3C5TJ`1pogI%6S(KgKv3QX=CB-SPNk?IOWq&* zCNJ_`K&)=TO8ql&MVt}eh%d3HdII~`r`RVzyv|~b`W7>stC-`-?;YwCEmm?r39q=0 zy`K{7`EDXIX4jXwt5c^HAlbeCwKLK1_ zqTzo9{(S&Q_?y75{|5B>2>Rk-ehNtSXTYgX1EoGsJ@adfBwqnDRe+UhfsPu0lj?zD zmH@*n1?E_TaitDOV?8WwEk>4pKn43_l<5VeurIK|MvOJXf%%OD`Zof|+9V)qQ-EjK$u<4(u$v0EE{Btk)&9e7wF!6AYt2pbiDw~YX^|9?bvgF8SA^9*j0WLtB*I> zUBU{?<`MCQIK`gAe!)@x4{<_an5`U_clM-KZ_|#&wb45&Yn!7J5Zt!vG-?XDLdIxJ>zFhL`-;|WFWAXCk(aTW}|L+#I?>7OQ{WhS| z9{@>!2P9F~!WZ`eGu)CAqGdo*LQ(?C*<6dfL$bQ}Z>mE{6Pnx0L0aOq_%b-dDj#=& zH5=19_4sZ%*5O@I)Ep#%)1834;S5$t>IfXdloPVi>YDI0C;AnpW7>-5Jp|7Kbjn1i z^%Z2mFXiTyB-j$t;MQn*T-}+k*>SZ`zHW2=FTWta)vX`%6WW77pW@lj-H0E`l+3DV zaKqR4;Zos>;p*WA!i|HQ1Gf}z4cr#EU2q5BOhc=*SWHSN6eI3XlrAo3H&6s1jG4K4 zDNdbEmz0>Anp#v?TwGj`?{>S>bUJ;Sf?vfY;rv8weoabTVS0F6L3K)WVY`UYj`GOZ zp6;r;&d&Th(krvVEeQq5X_Z+K)`Wt~W}CsK95yC+V)P!=W4Y2^DM3BVc&pTboJ|l= z6r2{$nUjlG2xab+6=fFuiJWgRcv6#%{q-r?g*i$30^ZH{JFKQhby$H?tug2n(M4mi z+pS?D=K31nZ(Ve>8!wa~@2>1tja_R5TGGXfbJ?t6Jw4VP>P| zx&9&XiAkoYW_aRki8lDQ$R{T4E0s_B;2iqF-G{*GDbij1Scl}> z;KWd{2!SUOt{q$lxCXdpxQTG{;FiIK3~gaO(EwI7guJ_P*Ww=Kzi0aI#kkAoopA4m zd$a7vk?1oOLz8-!b+SQ3p6K<1j$qUhw(rmKLWRs>9;TJ;ivm_jm z5DUM2U9F@@#wrPSQMg+w2BN0f>s4n;vAwu+Yr&AOJhOJl1bIcgH}v7JM2zNV&R0r^>&>lCec)vIHJcH>@11 zyzI$OPq6S3O=N2B^(ko;d1+SfVr_I*g?EZILKl0tQc!q#*)E47j z4>u5Q9NZkZrEq@jD~9$J``GJH1vgwOTrpfd+(5W-aC6|6!ueB`BUL$4wJ;;Jsc&FZ zut_6hlcR#)>ZHhk6yGq>9k!-`#1ai(6?`qsh5;jliAz-pFhe0Yd=SFY;7Z`Szzu>M z4|g-%U2qS>Jq`CV+*@!T!F>hyGn{p3mE}J&(a(TD=OE@%I57jNU6`7bsB<~p1^LA# z|7NHl1FlcwK2;{||BvxC@7EXQmv$~MEPgL<(A=(FXZ6j@9yqUix7ocju6`VrmX%?O zP#y?P%Sty!UHjaT&^{`^w4%JQBp7*sjNB)KC$748`W>t9o4K}r!O-I3p$qEiK4hWy z9$i>Sh!U@PUK$7uZ3koPiF-5 z)IT}~^|VszX{Aq3`#?LT8Q+6ht6&r0YhjhpQ@nfO(^D(-)CxVdLQk#GQ!Dh;3O%(# zPp!~XEA-R~J+(qlt(o^L z2%W%xh>6PSoMNrYj!us<_2@7$CuiiarqrVJtS-&UO~$ymIAhAdM3=Esi7VYvaAScr zb9iG#Sme0s-n++7+%mh<()$xqD<-e((_>0~LeZcbJH{vWZ62EAbVX&B#KvmfkcdMywn*>4Ql<9_re6`PdHaYMXNlr;Hn#;_NVM+QgjXhNO&|oX8}d zJKQ1PHo%;XZ>Bk0n19Bm{WmkU-%QSaI~@a`N!~ZbN?j#p1KszamE>zQ{yrq%8L*-c zS<#2A=tEZYAuIZj6@AFpq<$M}MIS=@$~kMOoVCevpdm$3plwyfk!{SnWtZQtG0Xj)=#`YZd~R4_4D0z=z}OSr%16i~7fXpCKS{+F^9FW9}HlUTFa`|(vO z+Hr1t;sI{>e0Od4>b>84wx`;FI$7g+&B> zo`5gi?}O}QS=`}ztrn8Qd^62K_cVtdLPbeaQpk*#gsXG^pFRmqYnN;Y@%|I<4e0bC zO3}Ieu&lhSu&knwnj zL{8T&Fhjmcx&`sV5noQa<1pz?@zoJaEvj6CtpxXya9e_J3ZB5PgvNT}!#v(|9!1WV zxh}#Ye{)NMVl#~M!=sK;7|N?(lF& zX!szM2iQQW_G5zz4u$a&1%+o^d%uy zi%}B`K7w^>J+1sr^LNa-Qh1jZmI_8`aCWTQ*$K4Kal|?+V-CdvI|QCcxOQ+I;2PkX z;U>b(gIfmo2;4JpufV+xXTlsW71|a9t&0KY&=a&$4@JL|{|i?rtXwFpTqvwuD6Cv4 ztXwDtu28JhL$Oj1#Y#OCEA>!yr5;MJERoeCJr9?99_|}>6Hp;(N1@{wZcXZNYr=CA zhFcScTNCVs3B#=k!>tL!tqH@e3B#=k!>tL!tqH@e3B#=k!>tL!tw|kj|Cot?xHX~F z$kI10#Q2wpuH~}YF*PhM{&zTnI22#nqkVR5cKGBm+4b$ixwdY>_6ZX<&+b$;|G6oX zw#@7(ik7{zv^sy<^9#M-c`xSQ_`>Gf&TJn$cKeyzZaeer*fHDX`*#blxO`CaPuPXT zJ!l&ZrtX?dXoOtPlYE$z4^|%)&AE96w5Tew70P9o-w^xyJFU@NkM^2S5v4Qg;>&NS zj*aO*Y|ITkBeLA3BfIwx36BU56Q8ALnRNzXH22j-#3d!hg=Jj55*i*65z-$yaE7b0 z0lHMcmf{s9e?JEpfYxVdeU|gT*5`d3By>=KN=a@-fq7W4c6;#hngEm{TVGnkj1#$e z2|lx?&PZg7`0QF*0L`J93q+A1o2dk*Pg!~Gv)G$nSUe!#Wl!mt(XL~%QD-Zu=oFsR z?bfZsdM;|tjVx(e^z>xD(iZKqXpP!F-Ijg$)Pj+{k~12Lp?j5rHyLnd ze`u8+udcZ;yL15vbuncqo?P%f(So51vjCUupnAMN;bI%%cEC}zBk=H{QUNrVB>z`% z4Y&14i7)My+i6UF8eiDBW_pz)y&`jDVot0nuG7%Ux?vq6 zg-`~Ecdo0CPpmGCkIL$lXmmTwqEp700cE+pM;D~_>e9igD;YRd+TIfMm)FpD1xsMV z_Mi*<*7^YA&<=XEiEIxS?(%n%Y?nCMND@6Y%eFE5+QtJ0a&(vDl$piRYQ=*T94X~E z@0Q>iPr$TBpF~sqa94uQ5ELb-Yg1c+DD%F~JM%kSW#J`8PjS2JuT}NSws}+A@y{a4 z%1hl@cPJlt^>Lm~wzmx?i#4R7A@RnH3Ctc|oaP-a*jy86Lo<>8_mpP8LKZrte1{GuVfYhv>o z%M+6-n@jr4F3QnaZ8meL5a!q{tKFOumYkkq^!5=3qfyg-TIHCvV+#1XL66Vx>P#8hF{-*OXdINI$U z&1aYg{c*#D;Nb8 zG#;A#A$XpGlPFI<_}EX#G1!dqSkICuE@_uyhy!B4MQfANZEr28{m(jQ<9-lL6zu0pq^` zeBYvV7Wr zHkU(d&`xQk1q-aA?ZwG{E%3L$NXQ(Un^@jAC$lWk>?x?^%Oi5?hs~}VzGXp|5wG#6 z-O=-2xTV3;d2!)@yN2e8B^?UqJUuZttA23yu-TR2-{g!N)l`$-aOW#C?&HeeRz@{P z4PUgTUtwX%=w;}eBhkkDG%vx>#6W^%M~qT>Mk&4B2*yj)*z_O-0E$U^nN}O@ z^jX)E1Z7|L;Km+Rg*JOhMMY%Zpu1;HDDhTVJjv;o42IprT89Nh6>kukz; z*R^|uE8l;!SQlSa78%|=Vvy9H-YCm!7z3^NT1F3kj}KeQLEG)Y9)pJL8CeZI^hB@f zi5?BDhj{hS6Fu}q4?WRCPxR0eJ@iBmJ=qNv*0UP2f;Qib!v-EWE#T8N8+h2j!v-EU z@UVf04Loe%VFM4FR9=aI{!e3B5~tK$+Ko@6;L|IVe>AkP1BJ=s1->%LvAtJdjLnep z&+ut)1+*70s4;+KadB@gohc1g;C*Ah_{xH^bcp_b}Yka4*BX1@{r$S8zYW z`L*|tnfSHW1MNkYa`sAdLEoy1Mo}MXFSUV2kAF9zB?RfWaFAS1^KpqCdu0uZY2VS4 zP?%)r15>L8WP9>FR!?z#O1sKTH|JdzZXG#p{lwz*hOy=C`&1-%p1P`W_Mf{g@9;5u#sV~kzufrVUV@ldLbJb1{*0iY<%`D8hoOqeRJjPfnEq$6xk)Dg^q)7 zH?%U2piQ)sAGkvsQM;r7ThaLYXu!Z=dgQk(ytTu~RFPao;&{#b^jn3*bSE13+55B(BAFrxr(iw18!`crjRuSCX}C zE!Qm(svxRE&P`OR;>KP=u88{+Y! zMg$glLJ<^-{Dbv&P`&M_w+{6-!7k(f#g+3cswVfrRw*gCm!Qh1Uzp~)S=KX55$5Y( zMz}jf<9*v(Or8Xf(R(2wG&xn)G0RzG|B32Z)%vkA3V3cFfc}Qv7#P!OUWxfMGLs#y z93e4e&C5}Ue8NS1^BJj?&K#Uhu7YKjlhO8&Ot?=nzENI}F;t(HCO0@~nL_3ioz=fC zNiAxlM*l{&lu-peZ|GC1(K!lZJO(APxUw|0Z+&ETl1s0(R@BwHlSKDhw+!jGcwl?4 z_qST7xv%>zlShmg+i`^1VThU9VcLW-qlV`$m=l#gNwG%W<&&BkXNVAr+AOlWF9WdzNy>wFe68+Z&>>QwQs(gY}d9 zh&ot59ju=Y)=vlPr-Sv=sn$;i>!%~@C)YZ$kZ7!L%&vnSu2b!B9eQ{j>~J0IFq#Rj z8EzunJh)|W{xQ2Z^6ia$dn4c8$hSB0?TvhUBj4W0x3`*aZ{*vX^0gt~;J!|_v@6-t zuJ{d2u?)awXCNR#21Lja+aDuQ1|<5XP>uN3nF6JmjPqa8BxPeD$7mwAwA2wp%&1C$ zQIcq=B9#qBNr6#PV3ZUXB?U%Ffl*RmloS{x1-)K@QBv?ey@C^b3cgf@zAxvb26!Ui z(&0+sy23TVO@Py5*C!D*3zKM@9s>+c9iz#@ps8V)Lxf=t5r#QL80HXRm_vkN4iSbq zL>T4}VVFaN`Ovmw@SK5@`*g9WV;J>=O1YjSfGap3D4~_Px;B@6Q{5+$s!#9DU}Fe# zUGxZ-jW$fxg*)M7a-V`G7QX3lQev{)$B=1}SmU;9obHmmrXexyOQIb>b)vGi{> z-CQ15nCS^^*QvBTy-#*@V z;!Bs7kJ!3=d|XcQtjFG-zuSB0)Pl~lHXZnK;gj6_#$@r2_Jz;x88D~86B?a^lZ^u& zT{^XAhBc)kC%1EoxpdZ!xt$l?G^Tro-jN*ZXcr%slQt8 zk9WQ1J-u&aQek=2pmsO(D42Vi*B_qu`CD6Vt{(ZO_am}7vd3K1rl5y;0P6VF$RX9p z(dK;{gA6dVQM4!-5apXI%Ga(iXOTu2r)w4LPSKja#E1NHIrZ{|q$%Rtr`Dv82(9bq z?Oxju%7;djbS#U)9+ovG)8n=DDhV4WQu+JdoVngl<72R_H%7&2GMtIgF2mIcX1CR- zX=u>KCGZ548d=7*Uerv~hC-K0@tvY=d+4Am`aUdx2NnQxci(Ei2K~22?Y}kXzcuK; zHR!)J=)X1SzcuK;HRu&J=)X1SmU7-)!#t#6h0+EbN5EM)8pT84iG*th*8#2pt{HA3 z+&s8taF4(}1NREt+i((jW+&wQK;@f-9#I~cLqtn?Mz@i85Mc1PNvMnw+NKGD%cVU) zI0U+$93ql%ub_gbBLn%$jKnM?P=>Em`6lss=zw_;S{^!J9y(wiI$$0;U>-VP9y(wi zI$$0;U>-VP9y(wiCh>Wg#OGlWpQldZ|Cot?5}yYXhb+i)v<1@4m1(|N6Vx<+0k>F6j?E7+XJkw=E>pG3J)Kh}imBe9VAl zBMR}^BplstFejKbdQGUdG0bHPOQ|2zdCIyZWA(^ejv2IGlU`>GxnoAjlz~MefqU!H ztNLf=_b!op7Mzu|p4Q}O!|=Vg+&wV%@))&$?=%(mU!M0)g~?8Z{ZEDcPlf$Yh5b*3 za8gzKp9=e*3e{43pMO3XeA}(9E?Cf#@v0S%hpyp=&x*&x0LP>CN|XsD%7hZ(t9)=T!@UJZZ#N!;=M0>{td{os{H7TT`*8U}W4L^~O6r1t z)1vJ{PSybbOFCW;*HLr}}*63uH5|@$JKG|Sy>g~?&J7?pB#Vt2?Fea2_ z!LmEhld!7Mya~G!f$t1H>RXpd42ogCl?w?Np~Xh5uVS&jf++DzzN{$c43Leq6`8OV zvWm1zl?hvs30si~TagJ{kqKLo30si~Tak(O%Y?0vpFPclt;mF}kb+V*!72N^vyD~I z%K*L42soh$k*X%(Q(f|hPZJ_h@1a${Zk3uA?h9wy~kqn(khE60yCz7EP$p=tMGfA{jc7 z44p`ZP9#Gol3`eqVOWx3Sdvx4^2bd4h9wz&2U!w2K+2LN5#%CU8~edkyWt={kxYYmd$utY+m^0!xL-b zrD0H79Yc(6TS)&6U*OmuzZRm`huMs}sL}y*9v-&j-Fv!7JAhNZ8ZF)gFT&Yjzr}XT z#==W%f!W!A=-7KO+ZWIhiMYrvj^q2#EoruM;8T|vzKUYUtjND7o`i0K_mX{cc=>8T zQW7RKsI_nYf)a%q!!*}=*Va{aRc7F1q0yx4u1!zz?%*pD4B?THVV0!!oigq-XZ5Kb zon4jR&c$;xhYzT>P`y7jCYu{PQN8*#IEIe&PEInXB*z;pPP5KiV+pr~xbymSBpZmj zEAOK28JKDM>u!~Gx3;N!$p6RQd&ft5)%U{l%rm`edT*MhnbC|!Q&mSAY1CI*X`8gY zdw1Q|eRtikals9j*w}_^iXmX^&}=T)-c4vP*aqI4I0?kL1a2sCAk+jBQ@k3#-`{zj zDQoRwz!2nht^qIXy0jjimB$v?=vgKzY%4qJ-7 z-Ze2!rPV9u`9!S#VeV)|?R2{|#!kH6B^|M9?^)l-6zlW}Z)8#!j3)I=lcs+N_+Q~} zc}6k<+#bb9khTR}mtZ~uTrXl?1QoD0tSnZXwH1Wi3VLq^y|;qiTS4!wp!Zh5thGV! zt)TaKM@R$-ye*32{AXj=*2FoBDgYDk2k>QRzJmNNSfWLI*8|`6z;`|HT@QSxx*>Yt zyB_$i2fpip?|R_79{14$-}S(EJ@8!*d>4JnDomUhT^M~B(-NqJzzhC&-% zz;hSy+yy*$0nc5)a~JU31w3~F&t1TC7x3H#Ja+-lUBGh}@Z1GF7wL-<69+~dql__y zv5avDL&S3z_KZjxfWO5Q*06;#9LR`>DTZt$%o9Ce9EAeHz*CqsA)At`EFOT8oyRdt#^$EH_*QJYx( zRTZxbTF7X^jG@y|zkquO(FdBJ4(Y-)3mLe-t7mA=@Mr|an|0U&iv$KlBV;4|Pw@cE zYPRO>S}(KqiRsBk2+M^hI`c_{yQ41IFYCLcM{&O{N$eE68?=Dt{o=GWaUwuuxHLc| zW>gglAYg|17g|~(Bn?5xYyg+^Xl=54VpH5RK0Vu+-ZGv{_VpS1cE{ZLgiD{88Iq33 zK0y1h;o|pPwivX>eI}bfq}BEoQu1uvIe+(6{3{AWM}xkkptt-xo-;4G=oIL?urGq` z)^P6A7um^gIsKLapW=Fw5;gRIldvENv$eYl1+9TP*aD6;HByTO9Ex*i!UK1O!=mku zb6*IiJG~wCjof!TI^*4LrEhwA%;`&8>)|yJlHs2A1kGxGW=5vc+dAqab216aSJ%QIcY13Bj7-Vt z@}-%PY~)PtG&9qyuhiD7 z>MOhIdsJi7^&Jy6O?bw~ZPRoZ%{mk>IHosu7}eZHfUn`z*BV&Nr%%uGPoDmI^XK1K zjWY^!$aDIy_;G*8M0Pfkc@UEw!=A(?cTzkrc|-BpM&m+^qNzdSC0 zPu!svP_Kb=Tz8m2d@fmf@z<+I6HzV%|xKDqAcPLDz4#mujCT4i`I@Ms5 zUpW0!T9Om3L;M8vz>h&@u%LGE$Kf@@`;y{q#rr}s6ynH#@0a7!P4QhVeAU^B6B-d>`YN z7^0W)+!qn$3nSzU+>+!A5+NG)aFO)06pD7sArmF|r+T+tKR_%rVq)y*Qs#8` z`ipOUcoLz2Ca|=C9l_DZTR0=N?#@y5;j%U-HHKHjdu(r3be^@z8bKa_2ww zgX?d5<>bW|{ZA@!3j85Ga|AF`n4NHQ=h)V{n@$?ul_bE!=Bi)+s~* z3BfFMbAIaRpeab8DL_aH5Rz&@$hj}VBv4>M2DT$Xm?0B^V2}kai*a+{-|={ZbBjj`^O1n; zFb+-l^`)Edxo_->&)zl**YEDV-I1E+Enf8*?iTsHDT9B#|k7}AO>C|-=Vj6 zs59Gc-ZF8;j>(L}Xgp%k2FA{tn!0c%%5ks$04yD`M|76J|N1lX+Zp~>DbI8aCpnIh zdz1J-1_%(cCEg7FQ&12}ZsQOeylV}s5}8?xGlhv(go*Bw-%0RlrvH>ABKW5x5ww3n zi4psEc4EOCfTG?JUqdv6gcN|G=v7!tM7Won=W&*`Q#-GH*ke;YU8dO8jcqzpVel~%h4S@zx;vAzv z1S3PBK|`QHL!d!Jpg}{RK|`QHR2qxY?HbT0ny$}Ac|_T&-H~O7w@1gGMTfiR8U!eZ zi{b}?Mdd(%as=ZbKsgYg90*Vj1Skgrlmh|EfdJ(|fO2?*90*Vj1Skgrlmh|EH3-nT zFG2)JQ25UzKn-g(iO+PvZPK$MO!SD!&^(!=*y%GPHp~@~iJ<=cU*CJ%XHS$9GlweN zV23Z<(`gKCSemf-%7*%PG#ZP$;H}PV)O!t{F8kZA_l{r2w4T@GYWWUFG_&F8=)~na zCv5d~Hn(2N&uAT1UC;shv|Lfok=!PGAKLRp6#2jlDtXb$g*mv+C;ne*&b%Zwyr|!q8`*G@ioVp*U?#HS7 zaq51Yx*rGRXPl=W*XhS~;x`YZ`~WWE}RAao9`7VJ{hnggp-4OpX|s zQ{REf2QgYwOgB-c?lvi=WflFC87WA&f0o=Z0&}e3)$xM>n-#!j1+ZBGY*ql96~JZ% zuvr0YRsfq7z-9%oSpjTT0Gk!SW(BZW0c=(puzBu_DBCQdR2=}O^Hvsf%U6Qcwj{YW zJA1q6Lom$0;3;i5dgtcI&b>Rsas|)H)ygTy*oIyC^rq2xY3rrOF5Oxx9{t#f(&23r zX1QFCv}o0sy?1ol`O_0o0u>t#xJ!@t=K8S zyy~!V-5I=F-RSXl+GnI{olY*x#5g7Fk8>J*hs*X$Lu5EJqqbU1O8$Gc+~R=8w_(eA zchEh(xIU1X%X?4z6eg>cqz6Hd3gI0Sl9yVVgA8~{(mz><43PejPk{#|Y79$hQ-)jf zeqFRBU2VuA+F8KIp9MCG61E=_wjUCZ%=%hbMM50tepFe}UIV>kWv-E;j{K6SP9@rDIz_2E7DAIOiMf9I_9a#~~b zP7nPwi+%OBJlktz-ZhTb)_$ENlPwc{*$XJeFrS9W!~s>C(5)DfXKVAC`faLo|FE;( zuN@lU>Wc*}%JnAXN`DFZpzH&Bm-p5Gu)|ZYkiEqnRL#sNe7@7C_;I7vsD%c}NvyAZ zSMfzWYqDiu5VMI|TvC+LS_=s}>_ppPYiU8-rYxIj!7NB|I{d}~K1$KGjTz!7*cy97 za516G1^2pFMXHJg^>HoY`zpTJJfcdDGC6Dgw7fFK{abIz$xHu& ziyYwAKPt5+2RgaW$UcB1FN5mUf3O8?dY-@Y^k3WjHoZ)CjVq{!L*Hn&X;&ls1*hL3 z{TH3tpi|I(IDz-Sz!*y~a5^OQZ7%r#=CcO5y_n{{6zT5{>FYn`_8Wbj-M$%_ z-r}`#%k{_YK8qHHGle6{cpJ*htHxRBb(0RwbeJR{>Fyy%9vil z;Z5Mnl)VC(4_O^4k$w^cC|E9eV{g~MT7&>6(gs@XdrKK@2x7)o25^0XsTS#En?e5w zN!O5&;J?Ra0eA$Pv$A1;;kKeuhB2~j$4Xdj?JOi^zPZ_|&D&>+E^S;N{-LpVo_l|7 z%uxRtqc!W4Gct`z;k4&&xc8xH?xfofbG+W`T79B^t4LTmgk4Bv zR@rGdYG3b{YN5~?7i+t-om{LGxi5I)9GErm1j#C59J&QBmk*(cG!e0~430z;5{K(a{wTYnP**bjl%pF|>Msd%@Nj2wJ$k!Mz7}`HHe)XJt#l!W{wLQ74Fr5ME)hlG4=mPbcnZH>4`JQPbW%l0CZ25{E&0b+t8ts0G1R#$O9Phh6u z0ZqE^A$8WPR^AiRb%s2OU*FH}(}ldvhjAYvZ&OKvo|v}{D;e{)J2?JgU3Vs-Ufqy3 zb|vEm=|}5N%3#S>D*Jpg9a3+8^<`WN&+Ni87uho>g!ntk0-}-_WWhkpCIaj5Jqpbs zzXU}RXL~I|#3Y`%F{z=jE1sA$*Z(U;Z^3iFsz2GO>kN7nii;u|Ki=V2m$LgEkQVtn z6$a2Y@?uj=CXbmzkT7UUBTCd-yad2b0a3o@oUgHRK zc%*;7x}vdJjB*cup3dd8f=nRxv;GtQ@z<`$9_ia6Pn-KLJ~#?@QwH+sZwL{leC++& zAQFx#hSbkuNMHMztb_Za{09iC*W!68Z&*ir&7O@blPROjeNka|Io0(W{hG>jRVS+` z^akw3i9V@Lucg{XsDZ)%3URq+ba6cKjARoovKeCzHU@;l0!lYww}t#YO2`uBYy;$M z1LSN2&~A0-)fd|>0mfojlhRvK+y>wRiRBKR#0dsZ^l-Gp*S|ba+Z}bLlX3G^fnv;N4)ypIW{X9yl$M4L&38wtEBU%V8IdZq z$d^Z8AMDy3@T>!U70ZGaHvp(Gy-B-PKOjShu%)N~g53-lZx2W{SsidVHw}ffU6GRssp&{0Is?Q zxat6|ItH#icxpLgjSc&!RD!uV5*}L0gfE&|yvA2p zD7e0roIQBOjia7T`!6mj-PuIX#`)Q(%%D=Mb9=YW`DU-$nC9Mh;O*NI*-E{TigwQ( ze8<3b$1Ygvv2(MdltKwDzU`Wo|3mvnJ<23b~&T3 zUj2!q7yjj)OIn-Htm-NZ6q0Jqz6-jRZ`-?g-Ik2fnTZR$L3SnZv<~=x^|g zew=r|aNf-f$Tcxf?Pt#LxfQkwYlmY)cpR4!MXBhsEH=GdKc+4M!8- zQQCw#C+v1mgec0*odGGbD>J*6Du!umW`1@dGk(+I(Wx6hc|p(467T9OUi@Ss#>){? zZg7M>^?M^1jOR8Dhr32MB+C0Q3xL{xyk{(FCBQjw>Ygq3D7Rd$hV`-uZPXNfbu66q zcgP^7>U0~pPYsO5mabi1yly#z6mUVtcn|0R(qFj?pOFx)AH)~{q@)2UX))pnWEVe? z7&D097yxBN#eo=qKphowEH$#$u=NZ|ibVB`ZB$>>^&nOVvLt2wz$S~s##0N2E!6xF z4_iVSBo14G!Lhr#};ZyWkp8FzX5GGHz zOMu{W2QwW5OuP-_A&kc`p2m0{L!=@uKrn)wD94MXwL*(v5`!QZhDdV~Bm|l@LNk~l zkBJwI)^M-&)OtJ$Zr)++NYuCs)tz05j(S`g9^F0|7@XKLs4y9I(us=?9vIsE(4}LC z4!NsS>tg%v*_r02Begw4Mw@?rB3u7I8mHZ=m_D)6t917yc(ctcn_THN*RK88`L}(2 z&JuPRYnMKNz2QI`B>Xj?H3O0hg<88ViQzNVlo;1U0*X;8Ew&J%vksAs zf+`SF!z#L32aZ-y$w>+CqC5{Vk*R?wHnBD*eipraLVRR6Ue2?8jn)?N*I4|qNKljA z7IgPS?7xnxDIUzRdC}4{Ke+mZiIHR8g$YM$q$|39e#W0(9#6_YrVWH6eusRh5Zv^@ zzJ zah)=>a3jTsv~N;@7?%9ru>g!VdqH2k*nclJ$_v`;1#R|%HhV#vy`atB25t6&HY1`G zlyN8SF64~u6k`aeVu3`gBo`AhoPKX_GTFK*zjz7P*MQ)i1bVGw6!;{Xo;0q0Wiz*U zAD!{OHhexz3y0elM9o6ks1XIO1t{1DDEN~FC6Jl{Ke!N-5CW45fk}nHq(Wd)Auy>B zm{bT%Dg+b{0mVZ=@eoiv1QZX!WEz6WGz61rs9`ca_eDgLX$XgiTY{A=LCxAH?rfI% z9%*NVHQ>ToLKb)!o=5>{WkLz0gk|%E#dT(kX*tZvP$S?<sZ{8 zne552&xzHKDmqlbTq0x)4QD*Q+-TT>m|f|o=HIeCA5JOMP!}}D)X+k2&#vX!azO7* z4KHL}g~5qrrl5`X4s{w!vpb42H|_0@1-0GAsMa3{=ukH(JO?NREz1HU?*%O@NT7ch zVDY8oNmM?i{{ep#@_;l-=qFZCHPTp!S4HsMD85Uj+$c5{#zBJgrW7PHs}_lCH=Z&6 z*0ReAd<2!KC|6j6Tww~>VY$MTfS>^j(}0C(z```ZF%57=0~V$M3)6swX~4oXxU~i> zjLK5cb9FI{6fAONYG?G40wEfap0pH4cr_g_lnus2C=rfKn$m}+hxDG5f8d&>TD7hm z8UTfE^5bT*prJn z$agE1=10OE@=0CTb^1BxqWwu{Uzc6)P53(d;�U>O}q9bqn_r_9um%dif;WoG5ET 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 h6fM7#J8-AHez+SVw`=Aa2~PVDFTF@*gLYf2;ri literal 0 HcmV?d00001 diff --git a/wp-content/plugins/really-simple-captcha/gentium/GenBasBI.ttf b/wp-content/plugins/really-simple-captcha/gentium/GenBasBI.ttf new file mode 100644 index 0000000000000000000000000000000000000000..786c6276ffb34f4589cdda17f5cee4ddbf558744 GIT binary patch literal 250668 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⋘|4zkk*BSVjzcN0SC+#*h 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/really-simple-captcha/gentium/GenBasI.ttf b/wp-content/plugins/really-simple-captcha/gentium/GenBasI.ttf new file mode 100644 index 0000000000000000000000000000000000000000..e326cd7272226895ac17057bbfa99764c64505e3 GIT binary patch literal 263504 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/really-simple-captcha/gentium/GenBasR.ttf b/wp-content/plugins/really-simple-captcha/gentium/GenBasR.ttf new file mode 100644 index 0000000000000000000000000000000000000000..6f37980e06002a60f8af2eba6eef4b101743fcc4 GIT binary patch literal 269048 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/really-simple-captcha/gentium/GenBkBasB.ttf b/wp-content/plugins/really-simple-captcha/gentium/GenBkBasB.ttf new file mode 100644 index 0000000000000000000000000000000000000000..0677a1113698affcc2b6eb2fd7e2e8b87a9c2480 GIT binary patch literal 271832 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

C;{n9ay$2`PS64HgACw{5 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 z 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 z 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�@?!eJ`$w4Puj_63e)0qKX9Jv@W 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

', + loadingCount: 0, + dbCheckTables: [], + dbCheckCount_ok: 0, + dbCheckCount_skipped: 0, + dbCheckCount_errors: 0, + issues: [], + ignoreData: false, + iconErrorMsgs: [], + scanIDLoaded: 0, + colorboxQueue: [], + colorboxOpen: false, + mode: '', + visibleIssuesPanel: 'new', + preFirstScanMsgsLoaded: false, + newestActivityTime: 0, //must be 0 to force loading of all initially + elementGeneratorIter: 1, + reloadConfigPage: false, + nonce: false, + tickerUpdatePending: false, + activityLogUpdatePending: false, + lastALogCtime: 0, + activityQueue: [], + totalActAdded: 0, + maxActivityLogItems: 1000, + scanReqAnimation: false, + debugOn: false, + blockedCountriesPending: [], + ownCountry: "", + schedStartHour: false, + currentPointer: false, + countryMap: false, + countryCodesToSave: "", + performanceScale: 3, + performanceMinWidth: 20, + init: function(){ + this.nonce = WordfenceAdminVars.firstNonce; + this.debugOn = WordfenceAdminVars.debugOn == '1' ? true : false; + this.tourClosed = WordfenceAdminVars.tourClosed == '1' ? true : false; + var startTicker = false; + if(jQuery('#wordfenceMode_scan').length > 0){ + this.mode = 'scan'; + jQuery('#wfALogViewLink').prop('href', WordfenceAdminVars.siteBaseURL + '?_wfsf=viewActivityLog&nonce=' + this.nonce); + jQuery('#consoleActivity').scrollTop(jQuery('#consoleActivity').prop('scrollHeight')); + jQuery('#consoleScan').scrollTop(jQuery('#consoleScan').prop('scrollHeight')); + this.noScanHTML = jQuery('#wfNoScanYetTmpl').tmpl().html(); + this.loadIssues(); + this.startActivityLogUpdates(); + if(! this.tourClosed){ + this.scanTourStart(); + } + } else if(jQuery('#wordfenceMode_activity').length > 0){ + this.mode = 'activity'; + var self = this; + this.setupSwitches('wfLiveTrafficOnOff', 'liveTrafficEnabled', function(){}); + jQuery('#wfLiveTrafficOnOff').change(function(){ + if(/^(?:falcon|php)$/.test(WordfenceAdminVars.cacheType) ){ + jQuery('#wfLiveTrafficOnOff').attr('checked', false); + self.colorbox('400px', "Live Traffic not available in high performance mode", "Please note that you can't enable live traffic when Falcon Engine or basic caching is enabled. This is done for performance reasons. If you want live traffic, go to the 'Performance Setup' menu and disable caching."); + } else { + self.updateSwitch('wfLiveTrafficOnOff', 'liveTrafficEnabled', function(){ window.location.reload(true); }); + } + }); + + if(WordfenceAdminVars.liveTrafficEnabled){ + this.activityMode = 'hit'; + } else { + this.activityMode = 'loginLogout'; + this.switchTab(jQuery('#wfLoginLogoutTab'), 'wfTab1', 'wfDataPanel', 'wfActivity_loginLogout', function(){ WFAD.activityTabChanged(); }); + } + startTicker = true; + if(! this.tourClosed){ + var self = this; + this.tour('wfWelcomeContent3', 'wfHeading', 'top', 'left', "Learn about Site Performance", function(){ self.tourRedir('WordfenceSitePerf'); }); + } + } else if(jQuery('#wordfenceMode_options').length > 0){ + this.mode = 'options'; + jQuery('.wfConfigElem').change(function(){ jQuery('#securityLevel').val('CUSTOM'); }); + this.updateTicker(true); + startTicker = true; + if(! this.tourClosed){ + var self = this; + this.tour('wfContentBasicOptions', 'wfMarkerBasicOptions', 'top', 'left', "Learn about Live Traffic Options", function(){ + self.tour('wfContentLiveTrafficOptions', 'wfMarkerLiveTrafficOptions', 'bottom', 'left', "Learn about Scanning Options", function(){ + self.tour('wfContentScansToInclude', 'wfMarkerScansToInclude', 'bottom', 'left', "Learn about Firewall Rules", function(){ + self.tour('wfContentFirewallRules', 'wfMarkerFirewallRules', 'bottom', 'left', "Learn about Login Security", function(){ + self.tour('wfContentLoginSecurity', 'wfMarkerLoginSecurity', 'bottom', 'left', "Learn about Other Options", function(){ + self.tour('wfContentOtherOptions', 'wfMarkerOtherOptions', 'bottom', 'left', false, false); + }); + }); + }); + }); + }); + } + } else if(jQuery('#wordfenceMode_blockedIPs').length > 0){ + this.mode = 'blocked'; + this.staticTabChanged(); + this.updateTicker(true); + startTicker = true; + if(! this.tourClosed){ + var self = this; + this.tour('wfWelcomeContent4', 'wfHeading', 'top', 'left', "Learn about Cellphone Sign-in", function(){ self.tourRedir('WordfenceTwoFactor'); }); + } + } else if(jQuery('#wordfenceMode_twoFactor').length > 0){ + this.mode = 'twoFactor'; + startTicker = false; + if(! this.tourClosed){ + var self = this; + this.tour('wfWelcomeTwoFactor', 'wfHeading', 'top', 'left', "Learn how to Block Countries", function(){ self.tourRedir('WordfenceCountryBlocking'); }); + } + this.loadTwoFactor(); + + } else if(jQuery('#wordfenceMode_countryBlocking').length > 0){ + this.mode = 'countryBlocking'; + startTicker = false; + if(! this.tourClosed){ + var self = this; + this.tour('wfWelcomeContentCntBlk', 'wfHeading', 'top', 'left', "Learn how to Schedule Scans", function(){ self.tourRedir('WordfenceScanSchedule'); }); + } + } else if(jQuery('#wordfenceMode_rangeBlocking').length > 0){ + this.mode = 'rangeBlocking'; + startTicker = false; + if(! this.tourClosed){ + var self = this; + this.tour('wfWelcomeContentRangeBlocking', 'wfHeading', 'top', 'left', "Learn how to Customize Wordfence", function(){ self.tourRedir('WordfenceSecOpt'); }); + } + this.calcRangeTotal(); + this.loadBlockRanges(); + } else if(jQuery('#wordfenceMode_whois').length > 0){ + this.mode = 'whois'; + startTicker = false; + if(! this.tourClosed){ + var self = this; + this.tour('wfWelcomeContentWhois', 'wfHeading', 'top', 'left', "Learn how to use Advanced Blocking", function(){ self.tourRedir('WordfenceRangeBlocking'); }); + } + this.calcRangeTotal(); + this.loadBlockRanges(); + + } else if(jQuery('#wordfenceMode_scanScheduling').length > 0){ + this.mode = 'scanScheduling'; + startTicker = false; + this.sched_modeChange(); + if(! this.tourClosed){ + var self = this; + this.tour('wfWelcomeContentScanSched', 'wfHeading', 'top', 'left', "Learn about WHOIS", function(){ self.tourRedir('WordfenceWhois'); }); + } + } else if(jQuery('#wordfenceMode_caching').length > 0){ + this.mode = 'caching'; + startTicker = false; + if(! this.tourClosed){ + var self = this; + this.tour('wfWelcomeContentCaching', 'wfHeading', 'top', 'left', "Learn about IP Blocking", function(){ self.tourRedir('WordfenceBlockedIPs'); }); + } + this.loadCacheExclusions(); +// } else if(jQuery('#wordfenceMode_perfStats').length > 0){ +// var self = this; +// this.loadAvgSitePerf(); +// this.setupSwitches('wfPerfOnOff', 'perfLoggingEnabled', function(){}); +// jQuery('#wfPerfOnOff').change(function(){ self.updateSwitch('wfPerfOnOff', 'perfLoggingEnabled', function(){}); }); +// this.mode = 'perfStats'; +// startTicker = true; +// if(! this.tourClosed){ +// var self = this; +// this.tour('wfWelcomeContentCaching', 'wfHeading', 'top', 'left', "Learn about IP Blocking", function(){ self.tourRedir('WordfenceBlockedIPs'); }); +// } + } else { + this.mode = false; + } + if(this.mode){ //We are in a Wordfence page + var self = this; + if(startTicker){ + this.updateTicker(); + this.liveInt = setInterval(function(){ self.updateTicker(); }, WordfenceAdminVars.actUpdateInterval); + } + jQuery(document).bind('cbox_closed', function(){ self.colorboxIsOpen = false; self.colorboxServiceQueue(); }); + } + }, + loadAvgSitePerf: function(){ + var self = this; + this.ajax('wordfence_loadAvgSitePerf', { limit: jQuery('#wfAvgPerfNum').val() }, function(res){ + res['scale'] = self.performanceScale; + res['min'] = self.performanceMinWidth; + jQuery('#wfAvgSitePerfContent').empty(); + var newElem = jQuery('#wfAvgPerfTmpl').tmpl(res); + newElem.prependTo('#wfAvgSitePerfContent').fadeIn(); + }); + }, + updateSwitch: function(elemID, configItem, cb){ + var setting = jQuery('#' + elemID).is(':checked'); + this.updateConfig(configItem, jQuery('#' + elemID).is(':checked') ? 1 : 0, cb); + }, + setupSwitches: function(elemID, configItem, cb){ + jQuery('.wfOnOffSwitch-checkbox').change(function(){ + jQuery.data(this, 'lastSwitchChange', (new Date()).getTime()); + }); + var self = this; + jQuery('div.wfOnOffSwitch').mouseup( function(){ + var elem = jQuery(this); + setTimeout(function(){ + var checkedElem = elem.find('.wfOnOffSwitch-checkbox'); + if((new Date()).getTime() - jQuery.data(checkedElem[0], 'lastSwitchChange') > 300){ + checkedElem.prop('checked', ! checkedElem.is(':checked') ); + self.updateSwitch(elemID, configItem, cb); + } + }, 50); + }); + }, + scanTourStart: function(){ + var self = this; + this.tour('wfWelcomeContent1', 'wfHeading', 'top', 'left', "Continue the Tour", function(){ + self.tour('wfWelcomeContent2', 'wfHeading', 'top', 'left', "Learn how to use Wordfence", function(){ + self.tour('wfWelcomeContent3', 'wfHeading', 'top', 'left', "Learn about Live Traffic", function(){ self.tourRedir('WordfenceActivity'); }); + }); + }); + }, + tourRedir: function(menuItem){ + window.location.href = 'admin.php?page=' + menuItem; + }, + updateConfig: function(key, val, cb){ + this.ajax('wordfence_updateConfig', { key: key, val: val }, function(){ cb(); }); + }, + tourFinish: function(){ + this.ajax('wordfence_tourClosed', {}, function(res){}); + }, + downgradeLicense: function(){ + this.colorbox('400px', "Confirm Downgrade", "Are you sure you want to downgrade your Wordfence Premium License? This will disable all Premium features and return you to the free version of Wordfence. Click here to renew your paid membership or click the button below to confirm you want to downgrade.


"); + }, + downgradeLicenseConfirm: function(){ + jQuery.colorbox.close(); + this.ajax('wordfence_downgradeLicense', {}, function(res){ location.reload(true); }); + }, + tour: function(contentID, elemID, edge, align, buttonLabel, buttonCallback){ + var self = this; + if(this.currentPointer){ + this.currentPointer.pointer('destroy'); + this.currentPointer = false; + } + var options = { + buttons: function(event, t){ + var buttonElem = jQuery(''); + buttonElem.find('#pointer-close').bind('click.pointer', function (evtObj) { + var evtSourceElem = evtObj.srcElement ? evtObj.srcElement : evtObj.target; + if(evtSourceElem.id == 'wfRateLink'){ + return true; + } + self.tourFinish(); + t.element.pointer('close'); + return false; + }); + return buttonElem; + }, + close: function(){}, + content: jQuery('#' + contentID).tmpl().html(), + pointerWidth: 400, + position: { + edge: edge, + align: align + } + }; + this.currentPointer = jQuery('#' + elemID).pointer(options).pointer('open'); + if(buttonLabel && buttonCallback){ + jQuery('#pointer-close').after('' + buttonLabel + ''); + jQuery('#pointer-primary').click(buttonCallback); + } + }, + startTourAgain: function(){ + this.ajax('wordfence_startTourAgain', {}, function(res){}); + this.tourClosed = false; + this.scanTourStart(); + }, + showLoading: function(){ + this.loadingCount++; + if(this.loadingCount == 1){ + jQuery('
Wordfence is working...
').appendTo('body'); + } + }, + removeLoading: function(){ + this.loadingCount--; + if(this.loadingCount == 0){ + jQuery('#wordfenceWorking').remove(); + } + }, + startActivityLogUpdates: function(){ + var self = this; + setInterval(function(){ + self.updateActivityLog(); + }, parseInt(WordfenceAdminVars.actUpdateInterval)); + }, + updateActivityLog: function(){ + if(this.activityLogUpdatePending){ + return; + } + this.activityLogUpdatePending = true; + var self = this; + this.ajax('wordfence_activityLogUpdate', { + lastctime: this.lastALogCtime + }, function(res){ self.doneUpdateActivityLog(res); }, function(){ self.activityLogUpdatePending = false; }, true); + + }, + doneUpdateActivityLog: function(res){ + this.actNextUpdateAt = (new Date()).getTime() + parseInt(WordfenceAdminVars.actUpdateInterval); + if(res.ok){ + if(res.items.length > 0){ + this.activityQueue.push.apply(this.activityQueue, res.items); + this.lastALogCtime = res.items[res.items.length - 1].ctime; + this.processActQueue(res.currentScanID); + } + } + this.activityLogUpdatePending = false; + }, + processActQueue: function(currentScanID){ + if(this.activityQueue.length > 0){ + this.addActItem(this.activityQueue.shift()); + this.totalActAdded++; + if(this.totalActAdded > this.maxActivityLogItems){ + jQuery('#consoleActivity div:first').remove(); + this.totalActAdded--; + } + var timeTillNextUpdate = this.actNextUpdateAt - (new Date()).getTime(); + var maxRate = 50 / 1000; //Rate per millisecond + var bulkTotal = 0; + while(this.activityQueue.length > 0 && this.activityQueue.length / timeTillNextUpdate > maxRate ){ + var item = this.activityQueue.shift(); + if(item){ + bulkTotal++; + this.addActItem(item); + } + } + this.totalActAdded += bulkTotal; + if(this.totalActAdded > this.maxActivityLogItems){ + jQuery('#consoleActivity div:lt(' + bulkTotal + ')').remove(); + this.totalActAdded -= bulkTotal; + } + var minDelay = 100; + var delay = minDelay; + if(timeTillNextUpdate < 1){ + delay = minDelay; + } else { + delay = Math.round(timeTillNextUpdate / this.activityQueue.length); + if(delay < minDelay){ delay = minDelay; } + } + var self = this; + setTimeout(function(){ self.processActQueue(); }, delay); + } + jQuery('#consoleActivity').scrollTop(jQuery('#consoleActivity').prop('scrollHeight')); + }, + processActArray: function(arr){ + for(var i = 0; i < arr.length; i++){ + this.addActItem(arr[i]); + } + }, + addActItem: function(item){ + if(! item){ return; } + if(! item.msg){ return; } + if(item.msg.indexOf('SUM_') == 0){ + this.processSummaryLine(item); + jQuery('#consoleSummary').scrollTop(jQuery('#consoleSummary').prop('scrollHeight')); + jQuery('#wfStartingScan').addClass('wfSummaryOK').html('Done.'); + } else if(this.debugOn || item.level < 4){ + + var html = '
[' + item.date + '] ' + item.msg + '
'; + jQuery('#consoleActivity').append(html); + if(/Scan complete\./i.test(item.msg)){ + this.loadIssues(); + } + } + }, + processSummaryLine: function(item){ + if(item.msg.indexOf('SUM_START:') != -1){ + var msg = item.msg.replace('SUM_START:', ''); + jQuery('#consoleSummary').append('
[' + item.date + ']
' + msg + '
'); + summaryUpdated = true; + } else if(item.msg.indexOf('SUM_ENDBAD') != -1){ + var msg = item.msg.replace('SUM_ENDBAD:', ''); + jQuery('div.wfSummaryMsg:contains("' + msg + '")').next().addClass('wfSummaryBad').html('Problems found.'); + summaryUpdated = true; + } else if(item.msg.indexOf('SUM_ENDFAILED') != -1){ + var msg = item.msg.replace('SUM_ENDFAILED:', ''); + jQuery('div.wfSummaryMsg:contains("' + msg + '")').next().addClass('wfSummaryBad').html('Failed.'); + summaryUpdated = true; + } else if(item.msg.indexOf('SUM_ENDOK') != -1){ + var msg = item.msg.replace('SUM_ENDOK:', ''); + jQuery('div.wfSummaryMsg:contains("' + msg + '")').next().addClass('wfSummaryOK').html('Secure.'); + summaryUpdated = true; + } else if(item.msg.indexOf('SUM_ENDSUCCESS') != -1){ + var msg = item.msg.replace('SUM_ENDSUCCESS:', ''); + jQuery('div.wfSummaryMsg:contains("' + msg + '")').next().addClass('wfSummaryOK').html('Success.'); + summaryUpdated = true; + } else if(item.msg.indexOf('SUM_ENDERR') != -1){ + var msg = item.msg.replace('SUM_ENDERR:', ''); + jQuery('div.wfSummaryMsg:contains("' + msg + '")').next().addClass('wfSummaryErr').html('An error occurred.'); + summaryUpdated = true; + } else if(item.msg.indexOf('SUM_DISABLED:') != -1){ + var msg = item.msg.replace('SUM_DISABLED:', ''); + jQuery('#consoleSummary').append('
[' + item.date + ']
' + msg + '
'); + summaryUpdated = true; + } else if(item.msg.indexOf('SUM_PAIDONLY:') != -1){ + var msg = item.msg.replace('SUM_PAIDONLY:', ''); + jQuery('#consoleSummary').append('
[' + item.date + ']
' + msg + '
'); + summaryUpdated = true; + } else if(item.msg.indexOf('SUM_FINAL:') != -1){ + var msg = item.msg.replace('SUM_FINAL:', ''); + jQuery('#consoleSummary').append('
[' + item.date + ']
' + msg + '
Scan Complete.
'); + } else if(item.msg.indexOf('SUM_PREP:') != -1){ + var msg = item.msg.replace('SUM_PREP:', ''); + jQuery('#consoleSummary').empty().html('
[' + item.date + ']
' + msg + '
'); + } else if(item.msg.indexOf('SUM_KILLED:') != -1){ + var msg = item.msg.replace('SUM_KILLED:', ''); + jQuery('#consoleSummary').empty().html('
[' + item.date + ']
' + msg + '
Scan Complete.
'); + } + }, + processActQueueItem: function(){ + var item = this.activityQueue.shift(); + if(item){ + jQuery('#consoleActivity').append('
[' + item.date + '] ' + item.msg + '
'); + this.totalActAdded++; + if(this.totalActAdded > this.maxActivityLogItems){ + jQuery('#consoleActivity div:first').remove(); + this.totalActAdded--; + } + if(item.msg == 'Scan complete.'){ + this.loadIssues(); + } + } + }, + updateTicker: function(forceUpdate){ + if( (! forceUpdate) && this.tickerUpdatePending){ + return; + } + this.tickerUpdatePending = true; + var self = this; + var alsoGet = ''; + var otherParams = ''; + if(this.mode == 'activity' && /^(?:404|hit|human|ruser|gCrawler|crawler|loginLogout)$/.test(this.activityMode)){ + alsoGet = 'logList_' + this.activityMode; + otherParams = this.newestActivityTime; + } else if(this.mode == 'perfStats'){ + alsoGet = 'perfStats'; + otherParams = this.newestActivityTime; + } + this.ajax('wordfence_ticker', { + alsoGet: alsoGet, + otherParams: otherParams + }, function(res){ self.handleTickerReturn(res); }, function(){ self.tickerUpdatePending = false; }, true); + }, + handleTickerReturn: function(res){ + this.tickerUpdatePending = false; + var newMsg = ""; + var oldMsg = jQuery('#wfLiveStatus').text(); + if( res.msg ){ + newMsg = res.msg; + } else { + newMsg = "Idle"; + } + if(newMsg && newMsg != oldMsg){ + jQuery('#wfLiveStatus').hide().html(newMsg).fadeIn(200); + } + + if(this.mode == 'activity'){ + if(res.alsoGet != 'logList_' + this.activityMode){ return; } //user switched panels since ajax request started + if(res.events.length > 0){ + this.newestActivityTime = res.events[0]['ctime']; + } + var haveEvents = false; + if(jQuery('#wfActivity_' + this.activityMode + ' .wfActEvent').length > 0){ + haveEvents = true; + } + if(res.events.length > 0){ + if(! haveEvents){ + jQuery('#wfActivity_' + this.activityMode).empty(); + } + for(i = res.events.length - 1; i >= 0; i--){ + var elemID = '#wfActEvent_' + res.events[i].id; + if(jQuery(elemID).length < 1){ + res.events[i]['activityMode'] = this.activityMode; + var newElem; + if(this.activityMode == 'loginLogout'){ + newElem = jQuery('#wfLoginLogoutEventTmpl').tmpl(res.events[i]); + } else { + newElem = jQuery('#wfHitsEventTmpl').tmpl(res.events[i]); + } + jQuery(newElem).find('.wfTimeAgo').data('wfctime', res.events[i].ctime); + newElem.prependTo('#wfActivity_' + this.activityMode).fadeIn(); + } + } + this.reverseLookupIPs(); + } else { + if(! haveEvents){ + jQuery('#wfActivity_' + this.activityMode).html('
No events to report yet.
'); + } + } + var self = this; + jQuery('.wfTimeAgo').each(function(idx, elem){ + jQuery(elem).html(self.makeTimeAgo(res.serverTime - jQuery(elem).data('wfctime')) + ' ago'); + }); + } else if(this.mode == 'perfStats'){ + var haveEvents = false; + if(jQuery('#wfPerfStats .wfPerfEvent').length > 0){ + haveEvents = true; + } + if(res.events.length > 0){ + if(! haveEvents){ + jQuery('#wfPerfStats').empty(); + } + var curLength = parseInt(jQuery('#wfPerfStats').css('width')); + if(res.longestLine > curLength){ + jQuery('#wfPerfStats').css('width', (res.longestLine + 200) + 'px'); + } + this.newestActivityTime = res.events[0]['ctime']; + for(var i = res.events.length - 1; i >= 0; i--){ + res.events[i]['scale'] = this.performanceScale; + res.events[i]['min'] = this.performanceMinWidth; + var newElem = jQuery('#wfPerfStatTmpl').tmpl(res.events[i]); + jQuery(newElem).find('.wfTimeAgo').data('wfctime', res.events[i].ctime); + newElem.prependTo('#wfPerfStats').fadeIn(); + } + } else { + if(! haveEvents){ + jQuery('#wfPerfStats').html('

No events to report yet.

'); + } + } + var self = this; + jQuery('.wfTimeAgo').each(function(idx, elem){ + jQuery(elem).html(self.makeTimeAgo(res.serverTime - jQuery(elem).data('wfctime')) + ' ago'); + }); + } + }, + reverseLookupIPs: function(){ + var ips = []; + jQuery('.wfReverseLookup').each(function(idx, elem){ + var txt = jQuery(elem).text(); + if(/^\d+\.\d+\.\d+\.\d+$/.test(txt) && (! jQuery(elem).data('wfReverseDone'))){ + jQuery(elem).data('wfReverseDone', true); + ips.push(jQuery(elem).text()); + } + }); + if(ips.length < 1){ return; } + var uni = {}; + var uniqueIPs = []; + for(var i = 0; i < ips.length; i++){ + if(! uni[ips[i]]){ + uni[ips[i]] = true; + uniqueIPs.push(ips[i]); + } + } + this.ajax('wordfence_reverseLookup', { + ips: uniqueIPs.join(',') + }, + function(res){ + if(res.ok){ + jQuery('.wfReverseLookup').each(function(idx, elem){ + var txt = jQuery(elem).text(); + for(ip in res.ips){ + if(txt == ip){ + if(res.ips[ip]){ + jQuery(elem).html('Hostname: ' + res.ips[ip]); + } else { + jQuery(elem).html(''); + } + } + } + }); + } + }, false, false); + }, + killScan: function(){ + var self = this; + this.ajax('wordfence_killScan', {}, function(res){ + if(res.ok){ + self.colorbox('400px', "Kill requested", "A termination request has been sent to any running scans."); + } else { + self.colorbox('400px', "Kill failed", "We failed to send a termination request."); + } + }); + }, + startScan: function(){ + var scanReqAnimation = setInterval(function(){ + var str = jQuery('#wfStartScanButton1').prop('value'); + ch = str.charAt(str.length - 1); + if(ch == '/'){ ch = '-'; } + else if(ch == '-'){ ch = '\\'; } + else if(ch == '\\'){ ch = '|'; } + else if(ch == '|'){ ch = '/'; } + else {ch = '/'; } + jQuery('#wfStartScanButton1,#wfStartScanButton2').prop('value', "Requesting a New Scan " + ch); + }, 100); + setTimeout(function(res){ + clearInterval(scanReqAnimation); + jQuery('#wfStartScanButton1,#wfStartScanButton2').prop('value', "Start a Wordfence Scan"); + }, 3000); + this.ajax('wordfence_scan', {}, function(res){ } ); + }, + loadIssues: function(callback){ + if(this.mode != 'scan'){ + return; + } + var self = this; + this.ajax('wordfence_loadIssues', { }, function(res){ + self.displayIssues(res, callback); + }); + }, + sev2num: function(str){ + if(/wfProbSev1/.test(str)){ + return 1; + } else if(/wfProbSev2/.test(str)){ + return 2; + } else { + return 0; + } + }, + displayIssues: function(res, callback){ + var self = this; + try { + res.summary['lastScanCompleted'] = res['lastScanCompleted']; + } catch(err){ + res.summary['lastScanCompleted'] = 'Never'; + } + jQuery('.wfIssuesContainer').hide(); + for(issueStatus in res.issuesLists){ + var containerID = 'wfIssues_dataTable_' + issueStatus; + var tableID = 'wfIssuesTable_' + issueStatus; + if(jQuery('#' + containerID).length < 1){ + //Invalid issue status + continue; + } + if(res.issuesLists[issueStatus].length < 1){ + if(issueStatus == 'new'){ + if(res.lastScanCompleted == 'ok'){ + jQuery('#' + containerID).html('

Congratulations! You have no security issues on your site.

'); + } else if(res['lastScanCompleted']){ + //jQuery('#' + containerID).html('

The latest scan failed: ' + res.lastScanCompleted + '

'); + } else { + jQuery('#' + containerID).html(); + } + + } else { + jQuery('#' + containerID).html('

There are currently no issues being ignored on this site.

'); + } + continue; + } + jQuery('#' + containerID).html('
'); + + jQuery.fn.dataTableExt.oSort['severity-asc'] = function(y,x){ x = WFAD.sev2num(x); y = WFAD.sev2num(y); if(x < y){ return 1; } if(x > y){ return -1; } return 0; }; + jQuery.fn.dataTableExt.oSort['severity-desc'] = function(y,x){ x = WFAD.sev2num(x); y = WFAD.sev2num(y); if(x > y){ return 1; } if(x < y){ return -1; } return 0; }; + + jQuery('#' + tableID).dataTable({ + "bFilter": false, + "bInfo": false, + "bPaginate": false, + "bLengthChange": false, + "bAutoWidth": false, + "aaData": res.issuesLists[issueStatus], + "aoColumns": [ + { + "sTitle": '
Severity
', + "sWidth": '128px', + "sClass": "center", + "sType": 'severity', + "fnRender": function(obj) { + var cls = ""; + cls = 'wfProbSev' + obj.aData.severity; + return ''; + } + }, + { + "sTitle": '
Issue
', + "bSortable": false, + "sWidth": '400px', + "sType": 'html', + fnRender: function(obj){ + var tmplName = 'issueTmpl_' + obj.aData.type; + return jQuery('#' + tmplName).tmpl(obj.aData).html(); + } + } + ] + }); + } + if(callback){ + jQuery('#wfIssues_' + this.visibleIssuesPanel).fadeIn(500, function(){ callback(); }); + } else { + jQuery('#wfIssues_' + this.visibleIssuesPanel).fadeIn(500); + } + return true; + }, + ajax: function(action, data, cb, cbErr, noLoading){ + if(typeof(data) == 'string'){ + if(data.length > 0){ + data += '&'; + } + data += 'action=' + action + '&nonce=' + this.nonce; + } else if(typeof(data) == 'object'){ + data['action'] = action; + data['nonce'] = this.nonce; + } + if(! cbErr){ + cbErr = function(){}; + } + var self = this; + if(! noLoading){ + this.showLoading(); + } + jQuery.ajax({ + type: 'POST', + url: WordfenceAdminVars.ajaxURL, + dataType: "json", + data: data, + success: function(json){ + if(! noLoading){ + self.removeLoading(); + } + if(json && json.nonce){ + self.nonce = json.nonce; + } + if(json && json.errorMsg){ + self.colorbox('400px', 'An error occurred', json.errorMsg); + } + cb(json); + }, + error: function(){ + if(! noLoading){ + self.removeLoading(); + } + cbErr(); + } + }); + }, + colorbox: function(width, heading, body){ + this.colorboxQueue.push([width, heading, body]); + this.colorboxServiceQueue(); + }, + colorboxServiceQueue: function(){ + if(this.colorboxIsOpen){ return; } + if(this.colorboxQueue.length < 1){ return; } + var elem = this.colorboxQueue.shift(); + this.colorboxOpen(elem[0], elem[1], elem[2]); + }, + colorboxOpen: function(width, heading, body){ + this.colorboxIsOpen = true; + jQuery.colorbox({ width: width, html: "

" + heading + "

" + body + "

"}); + }, + scanRunningMsg: function(){ this.colorbox('400px', "A scan is running", "A scan is currently in progress. Please wait until it finishes before starting another scan."); }, + errorMsg: function(msg){ this.colorbox('400px', "An error occurred:", msg); }, + bulkOperation: function(op){ + var self = this; + if(op == 'del' || op == 'repair'){ + var ids = jQuery('input.wf' + op + 'Checkbox:checked').map(function(){ return jQuery(this).val(); }).get(); + if(ids.length < 1){ + this.colorbox('400px', "No files were selected", "You need to select files to perform a bulk operation. There is a checkbox in each issue that lets you select that file. You can then select a bulk operation and hit the button to perform that bulk operation."); + return; + } + if(op == 'del'){ + this.colorbox('400px', "Are you sure you want to delete?", "Are you sure you want to delete a total of " + ids.length + " files? Do not delete files on your system unless you're ABSOLUTELY sure you know what you're doing. If you delete the wrong file it could cause your WordPress website to stop functioning and you will probably have to restore from backups. If you're unsure, Cancel and work with your hosting provider to clean your system of infected files.

  
"); + } else if(op == 'repair'){ + this.colorbox('400px', "Are you sure you want to repair?", "Are you sure you want to repair a total of " + ids.length + " files? Do not repair files on your system unless you're sure you have reviewed the differences between the original file and your version of the file in the files you are repairing. If you repair a file that has been customized for your system by a developer or your hosting provider it may leave your system unusable. If you're unsure, Cancel and work with your hosting provider to clean your system of infected files.

  
"); + } + } else { + return; + } + }, + bulkOperationConfirmed: function(op){ + jQuery.colorbox.close(); + var self = this; + this.ajax('wordfence_bulkOperation', { + op: op, + ids: jQuery('input.wf' + op + 'Checkbox:checked').map(function(){ return jQuery(this).val(); }).get() + }, function(res){ self.doneBulkOperation(res); }); + }, + doneBulkOperation: function(res){ + var self = this; + if(res.ok){ + this.loadIssues(function(){ self.colorbox('400px', res.bulkHeading, res.bulkBody); }); + } else { + this.loadIssues(function(){}); + } + }, + deleteFile: function(issueID){ + var self = this; + this.ajax('wordfence_deleteFile', { + issueID: issueID + }, function(res){ self.doneDeleteFile(res); }); + }, + doneDeleteFile: function(res){ + var cb = false; + var self = this; + if(res.ok){ + this.loadIssues(function(){ self.colorbox('400px', "Success deleting file", "The file " + res.file + " was successfully deleted."); }); + } else if(res.cerrorMsg){ + this.loadIssues(function(){ self.colorbox('400px', 'An error occurred', res.cerrorMsg); }); + } + }, + restoreFile: function(issueID){ + var self = this; + this.ajax('wordfence_restoreFile', { + issueID: issueID + }, function(res){ self.doneRestoreFile(res); }); + }, + doneRestoreFile: function(res){ + var self = this; + if(res.ok){ + this.loadIssues(function(){ self.colorbox("400px", "File restored OK", "The file " + res.file + " was restored succesfully."); }); + } else if(res.cerrorMsg){ + this.loadIssues(function(){ self.colorbox('400px', 'An error occurred', res.cerrorMsg); }); + } + }, + deleteIssue: function(id){ + var self = this; + this.ajax('wordfence_deleteIssue', { id: id }, function(res){ + self.loadIssues(); + }); + }, + updateIssueStatus: function(id, st){ + var self = this; + this.ajax('wordfence_updateIssueStatus', { id: id, 'status': st }, function(res){ + if(res.ok){ + self.loadIssues(); + } + }); + }, + updateAllIssues: function(op){ // deleteIgnored, deleteNew, ignoreAllNew + var head = "Please confirm"; + if(op == 'deleteIgnored'){ + body = "You have chosen to remove all ignored issues. Once these issues are removed they will be re-scanned by Wordfence and if they have not been fixed, they will appear in the 'new issues' list. Are you sure you want to do this?"; + } else if(op == 'deleteNew'){ + body = "You have chosen to mark all new issues as fixed. If you have not really fixed these issues, they will reappear in the new issues list on the next scan. If you have not fixed them and want them excluded from scans you should choose to 'ignore' them instead. Are you sure you want to mark all new issues as fixed?"; + } else if(op == 'ignoreAllNew'){ + body = "You have chosen to ignore all new issues. That means they will be excluded from future scans. You should only do this if you're sure all new issues are not a problem. Are you sure you want to ignore all new issues?"; + } else { + return; + } + this.colorbox('450px', head, body + '

   
'); + }, + confirmUpdateAllIssues: function(op){ + var self = this; + this.ajax('wordfence_updateAllIssues', { op: op }, function(res){ self.loadIssues(); }); + }, + es: function(val){ + if(val){ + return val; + } else { + return ""; + } + }, + noQuotes: function(str){ + return str.replace(/"/g,'"').replace(/\'/g, '‘'); + }, + commify: function(num){ + return ("" + num).replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,"); + }, + switchToLiveTab: function(elem){ + jQuery('.wfTab1').removeClass('selected'); + jQuery(elem).addClass('selected'); + jQuery('.wfDataPanel').hide(); + var self = this; + jQuery('#wfActivity').fadeIn(function(){ self.completeLiveTabSwitch(); }); + }, + completeLiveTabSwitch: function(){ + this.ajax('wordfence_loadActivityLog', {}, function(res){ + var html = ''; + if(res.events && res.events.length > 0){ + jQuery('#wfActivity').empty(); + for(var i = 0; i < res.events.length; i++){ + var timeTaken = '0.0000'; + if(res.events[i + 1]){ + timeTaken = (res.events[i].ctime - res.events[i + 1].ctime).toFixed(4); + } + var red = ""; + if(res.events[i].type == 'error'){ + red = ' class="wfWarn" '; + } + html += '
[' + res.events[i].type + ' : ' + timeTaken + ' : ' + res.events[i].timeAgo + ' ago] ' + res.events[i].msg + "
"; + } + jQuery('#wfActivity').html(html); + } else { + jQuery('#wfActivity').html("

  No activity to report yet. Please complete your first scan.

"); + } + }); + }, + emailActivityLog: function(){ + this.colorbox('400px', 'Email Wordfence Activity Log', "Enter the email address you would like to send the Wordfence activity log to. Note that the activity log may contain thousands of lines of data. This log is usually only sent to a member of the Wordfence support team. It also contains your PHP configuration from the phpinfo() function for diagnostic data.



"); + }, + completeEmailActivityLog: function(){ + jQuery.colorbox.close(); + var email = jQuery('#wfALogRecip').val(); + if(! /^[^@]+@[^@]+$/.test(email)){ + alert("Please enter a valid email address."); + return; + } + var self = this; + this.ajax('wordfence_sendActivityLog', { email: jQuery('#wfALogRecip').val() }, function(res){ + if(res.ok){ + self.colorbox('400px', 'Activity Log Sent', "Your Wordfence activity log was sent to " + email + "



"); + } + }); + }, + reloadActivityData: function(){ + jQuery('#wfActivity').html('
'); // 
 
 
 
 
 
 
 
 
 
+ this.completeLiveTabSwitch(); + }, + switchToSummaryTab: function(elem){ + jQuery('.wfTab1').removeClass('selected'); + jQuery(elem).addClass('selected'); + jQuery('.wfDataPanel').hide(); + jQuery('#wfSummaryTables').fadeIn(); + }, + switchIssuesTab: function(elem, type){ + jQuery('.wfTab2').removeClass('selected'); + jQuery('.wfIssuesContainer').hide(); + jQuery(elem).addClass('selected'); + this.visibleIssuesPanel = type; + jQuery('#wfIssues_' + type).fadeIn(); + }, + switchTab: function(tabElement, tabClass, contentClass, selectedContentID, callback){ + jQuery('.' + tabClass).removeClass('selected'); + jQuery(tabElement).addClass('selected'); + jQuery('.' + contentClass).hide().html('
'); + var func = function(){}; + if(callback){ + func = function(){ callback(); }; + } + jQuery('#' + selectedContentID).fadeIn(func); + }, + activityTabChanged: function(){ + var mode = jQuery('.wfDataPanel:visible')[0].id.replace('wfActivity_',''); + if(! mode){ return; } + this.activityMode = mode; + this.reloadActivities(); + }, + reloadActivities: function(){ + jQuery('#wfActivity_' + this.activityMode).html('
'); + this.newestActivityTime = 0; + this.updateTicker(true); + }, + staticTabChanged: function(){ + var mode = jQuery('.wfDataPanel:visible')[0].id.replace('wfActivity_',''); + if(! mode){ return; } + this.activityMode = mode; + + var self = this; + this.ajax('wordfence_loadStaticPanel', { + mode: this.activityMode + }, function(res){ + self.completeLoadStaticPanel(res); + }); + }, + completeLoadStaticPanel: function(res){ + var contentElem = '#wfActivity_' + this.activityMode; + jQuery(contentElem).empty(); + if(res.results && res.results.length > 0){ + var tmpl; + if(this.activityMode == 'topScanners' || this.activityMode == 'topLeechers'){ + tmpl = '#wfLeechersTmpl'; + } else if(this.activityMode == 'blockedIPs'){ + tmpl = '#wfBlockedIPsTmpl'; + } else if(this.activityMode == 'lockedOutIPs'){ + tmpl = '#wfLockedOutIPsTmpl'; + } else if(this.activityMode == 'throttledIPs'){ + tmpl = '#wfThrottledIPsTmpl'; + } else { return; } + var i, j, chunk = 1000; + var bigArray = res.results.slice(0); + res.results = false; + for(i = 0, j = bigArray.length; i < j; i += chunk){ + res.results = bigArray.slice(i, i + chunk); + jQuery(tmpl).tmpl(res).appendTo(contentElem); + } + this.reverseLookupIPs(); + } else { + if(this.activityMode == 'topScanners' || this.activityMode == 'topLeechers'){ + jQuery(contentElem).html("No site hits have been logged yet. Check back soon."); + } else if(this.activityMode == 'blockedIPs'){ + jQuery(contentElem).html("No IP addresses have been blocked yet. If you manually block an IP address or if Wordfence automatically blocks one, it will appear here."); + } else if(this.activityMode == 'lockedOutIPs'){ + jQuery(contentElem).html("No IP addresses have been locked out from signing in or using the password recovery system."); + } else if(this.activityMode == 'throttledIPs'){ + jQuery(contentElem).html("No IP addresses have been throttled yet. If an IP address accesses the site too quickly and breaks one of the Wordfence rules, it will appear here."); + } else { return; } + } + }, + ucfirst: function(str){ + str = "" + str; + return str.charAt(0).toUpperCase() + str.slice(1); + }, + makeIPTrafLink: function(IP){ + return WordfenceAdminVars.siteBaseURL + '?_wfsf=IPTraf&nonce=' + this.nonce + '&IP=' + encodeURIComponent(IP); + }, + makeDiffLink: function(dat){ + return WordfenceAdminVars.siteBaseURL + '?_wfsf=diff&nonce=' + this.nonce + + '&file=' + encodeURIComponent(this.es(dat['file'])) + + '&cType=' + encodeURIComponent(this.es(dat['cType'])) + + '&cKey=' + encodeURIComponent(this.es(dat['cKey'])) + + '&cName=' + encodeURIComponent(this.es(dat['cName'])) + + '&cVersion=' + encodeURIComponent(this.es(dat['cVersion'])); + }, + makeViewFileLink: function(file){ + return WordfenceAdminVars.siteBaseURL + '?_wfsf=view&nonce=' + this.nonce + '&file=' + encodeURIComponent(file); + }, + makeTimeAgo: function(t){ + var months = Math.floor(t / (86400 * 30)); + var days = Math.floor(t / 86400); + var hours = Math.floor(t / 3600); + var minutes = Math.floor(t / 60); + if(months > 0){ + days -= months * 30; + return this.pluralize(months, 'month', days, 'day'); + } else if(days > 0){ + hours -= days * 24; + return this.pluralize(days, 'day', hours, 'hour'); + } else if(hours > 0) { + minutes -= hours * 60; + return this.pluralize(hours, 'hour', minutes, 'min'); + } else if(minutes > 0) { + //t -= minutes * 60; + return this.pluralize(minutes, 'minute'); + } else { + return Math.round(t) + " seconds"; + } + }, + pluralize: function(m1, t1, m2, t2){ + if(m1 != 1) { + t1 = t1 + 's'; + } + if(m2 != 1) { + t2 = t2 + 's'; + } + if(m1 && m2){ + return m1 + ' ' + t1 + ' ' + m2 + ' ' + t2; + } else { + return m1 + ' ' + t1; + } + }, + calcRangeTotal: function(){ + var range = jQuery('#ipRange').val(); + if(! range){ return; } + range = range.replace(/ /g, ''); + if(range && /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\s*\-\s*\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(range)){ + var ips = range.split('-'); + var total = this.inet_aton(ips[1]) - this.inet_aton(ips[0]) + 1; + if(total < 1){ + jQuery('#wfShowRangeTotal').html("Invalid. Starting IP is greater than ending IP."); + return; + } + jQuery('#wfShowRangeTotal').html("Valid: " + total + " addresses in range."); + } else { + jQuery('#wfShowRangeTotal').empty(); + } + }, + loadBlockRanges: function(){ + var self = this; + this.ajax('wordfence_loadBlockRanges', {}, function(res){ self.completeLoadBlockRanges(res); }); + + }, + completeLoadBlockRanges: function(res){ + jQuery('#currentBlocks').empty(); + if(res.results && res.results.length > 0){ + jQuery('#wfBlockedRangesTmpl').tmpl(res).prependTo('#currentBlocks'); + } else { + jQuery('#currentBlocks').html("You have not blocked any IP ranges or other patterns yet."); + } + }, + whois: function(val){ + val = val.replace(' ',''); + if( ! /\w+/.test(val)){ + this.colorbox('300px', "Enter a valid IP or domain", "Please enter a valid IP address or domain name for your whois lookup."); + return; + } + var self = this; + jQuery('#whoisbutton').attr('disabled', 'disabled'); + jQuery('#whoisbutton').attr('value', 'Loading...'); + this.ajax('wordfence_whois', { + val: val + }, function(res){ + jQuery('#whoisbutton').removeAttr('disabled'); + jQuery('#whoisbutton').attr('value', 'Look up IP or Domain'); + if(res.ok){ + self.completeWhois(res); + } + }); + }, + completeWhois: function(res){ + if(res.ok && res.result && res.result.rawdata && res.result.rawdata.length > 0){ + var rawhtml = ""; + for(var i = 0; i < res.result.rawdata.length; i++){ + res.result.rawdata[i] = jQuery('
').text(res.result.rawdata[i]).html(); + res.result.rawdata[i] = res.result.rawdata[i].replace(/([^\s\t\r\n:;]+@[^\s\t\r\n:;\.]+\.[^\s\t\r\n:;]+)/, "$1<\/a>"); + res.result.rawdata[i] = res.result.rawdata[i].replace(/(https?:\/\/[^\/]+[^\s\r\n\t]+)/, "$1<\/a>"); + var redStyle = ""; + if(this.getQueryParam('wfnetworkblock')){ + redStyle = " style=\"color: #F00;\""; + } + var self = this; + function wfm21(str, ipRange, offset, totalStr){ + var ips = ipRange.split(/\s*\-\s*/); + var ip1num = self.inet_aton(ips[0]); + var ip2num = self.inet_aton(ips[1]); + var totalIPs = ip2num - ip1num + 1; + return "" + ipRange + " [" + totalIPs + " addresses in this network. Click to block this network]<\/a>"; + } + + res.result.rawdata[i] = res.result.rawdata[i].replace(/(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} - \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/, wfm21); + rawhtml += res.result.rawdata[i] + "
"; + } + jQuery('#wfrawhtml').html(rawhtml); + } else { + jQuery('#wfrawhtml').html('Sorry, but no data for that IP or domain was found.'); + } + }, + blockIPUARange: function(ipRange, uaRange, reason){ + if(! /\w+/.test(reason)){ + this.colorbox('300px', "Please specify a reason", "You forgot to include a reason you're blocking this IP range. We ask you to include this for your own record keeping."); + return; + } + ipRange = ipRange.replace(/ /g, ''); + if(ipRange){ + if(! /^\d+\.\d+\.\d+\.\d+\-\d+\.\d+\.\d+\.\d+$/.test(ipRange)){ + this.colorbox('300px', 'Specify a valid IP range', "Please specify a valid IP address range in the form of \"1.2.3.4 - 1.2.3.5\" without quotes. Make sure the dash between the IP addresses in a normal dash (a minus sign on your keyboard) and not another character that looks like a dash."); + return; + } + } + if( ! (/\w+/.test(ipRange) || /\w+/.test(uaRange))){ + this.colorbox('300px', 'Specify an IP range or Browser pattern', "Please specify either an IP address range or a web browser pattern to match."); + return; + } + var self = this; + this.ajax('wordfence_blockIPUARange', { + ipRange: ipRange, + uaRange: uaRange, + reason: reason + }, function(res){ + if(res.ok){ + self.loadBlockRanges(); + return; + } + }); + }, + unblockRange: function(id){ + var self = this; + this.ajax('wordfence_unblockRange', { + id: id + }, function(res){ + self.loadBlockRanges(); + }); + }, + blockIP: function(IP, reason){ + var self = this; + this.ajax('wordfence_blockIP', { + IP: IP, + reason: reason + }, function(res){ + if(res.errorMsg){ + return; + } else { + self.reloadActivities(); + } + }); + }, + blockIPTwo: function(IP, reason, perm){ + var self = this; + this.ajax('wordfence_blockIP', { + IP: IP, + reason: reason, + perm: (perm ? '1' : '0') + }, function(res){ + if(res.errorMsg){ + return; + } else { + self.staticTabChanged(); + } + }); + }, + unlockOutIP: function(IP){ + var self = this; + this.ajax('wordfence_unlockOutIP', { + IP: IP + }, function(res){ self.staticTabChanged(); }); + }, + unblockIP: function(IP){ + var self = this; + this.ajax('wordfence_unblockIP', { + IP: IP + }, function(res){ + self.reloadActivities(); + }); + }, + unblockIPTwo: function(IP){ + var self = this; + this.ajax('wordfence_unblockIP', { + IP: IP + }, function(res){ + self.staticTabChanged(); + }); + }, + permBlockIP: function(IP){ + var self = this; + this.ajax('wordfence_permBlockIP', { + IP: IP + }, function(res){ self.staticTabChanged(); }); + }, + makeElemID: function(){ + return 'wfElemGen' + this.elementGeneratorIter++; + }, + pulse: function(sel){ + jQuery(sel).fadeIn(function(){ + setTimeout(function(){ jQuery(sel).fadeOut(); }, 2000); + }); + }, + getCacheStats: function(){ + var self = this; + this.ajax('wordfence_getCacheStats', {}, function(res){ + if(res.ok){ + self.colorbox('400px', res.heading, res.body); + } + }); + }, + clearPageCache: function(){ + var self = this; + this.ajax('wordfence_clearPageCache', {}, function(res){ + if(res.ok){ + self.colorbox('400px', res.heading, res.body); + } + }); + }, + switchToFalcon: function(){ + var self = this; + this.ajax('wordfence_checkFalconHtaccess', { + }, function(res){ + if(res.ok){ + self.colorbox('400px', "Enabling Falcon Engine", 'First read this
Introduction to Falcon Engine. Falcon modifies your website configuration file which is called your .htaccess file. To enable Falcon we ask that you make a backup of this file. This is a safety precaution in case for some reason Falcon is not compatible with your site.

Click here to download a backup copy of your .htaccess file now

'); + } else if(res.nginx){ + self.colorbox('400px', "Enabling Falcon Engine", 'You are using an Nginx web server and using a FastCGI processor like PHP5-FPM. To use Falcon you will need to manually modify your nginx.conf configuration file and reload your Nginx server for the changes to take effect. You can find the rules you need to make these changes to nginx.conf on this page on wordfence.com. Once you have made these changes, compressed cached files will be served to your visitors directly from Nginx making your site extremely fast. When you have made the changes and reloaded your Nginx server, you can click the button below to enable Falcon.

'); + } else if(res.err){ + self.colorbox('400px', "We encountered a problem", "We can't modify your .htaccess file for you because: " + res.err + "

Advanced users: If you would like to manually enable Falcon yourself by editing your .htaccess, you can add the rules below to the beginning of your .htaccess file. Then click the button below to enable Falcon. Don't do this unless you understand website configuration.

"); + } + }); + }, + confirmSwitchToFalcon: function(noEditHtaccess){ + jQuery.colorbox.close(); + var cacheType = 'falcon'; + var self = this; + this.ajax('wordfence_saveCacheConfig', { + cacheType: cacheType, + noEditHtaccess: noEditHtaccess + }, function(res){ + if(res.ok){ + self.colorbox('400px', res.heading, res.body); + } + } + ); + }, + saveCacheConfig: function(){ + var cacheType = jQuery('input:radio[name=cacheType]:checked').val(); + if(cacheType == 'falcon'){ + return this.switchToFalcon(); + } + var self = this; + this.ajax('wordfence_saveCacheConfig', { + cacheType: cacheType + }, function(res){ + if(res.ok){ + self.colorbox('400px', res.heading, res.body); + } + } + ); + }, + saveCacheOptions: function(){ + var self = this; + this.ajax('wordfence_saveCacheOptions', { + allowHTTPSCaching: (jQuery('#wfallowHTTPSCaching').is(':checked') ? 1 : 0), + addCacheComment: (jQuery('#wfaddCacheComment').is(':checked') ? 1 : 0), + clearCacheSched: (jQuery('#wfclearCacheSched').is(':checked') ? 1 : 0) + }, function(res){ + if(res.updateErr){ + self.colorbox('400px', "You need to manually update your .htaccess", res.updateErr + "
Your option was updated but you need to change the Wordfence code in your .htaccess to the following:
'); + } + } + ); + }, + saveConfig: function(){ + var qstr = jQuery('#wfConfigForm').serialize(); + var self = this; + jQuery('.wfSavedMsg').hide(); + jQuery('.wfAjax24').show(); + this.ajax('wordfence_saveConfig', qstr, function(res){ + jQuery('.wfAjax24').hide(); + if(res.ok){ + if(res['paidKeyMsg']){ + self.colorbox('400px', "Congratulations! You have been upgraded to Premium Scanning.", "You have upgraded to a Premium API key. Once this page reloads, you can choose which premium scanning options you would like to enable and then click save. Click the button below to reload this page now.

"); + return; + } else if(res['reload'] == 'reload' || WFAD.reloadConfigPage){ + self.colorbox('400px', "Please reload this page", "You selected a config option that requires a page reload. Click the button below to reload this page to update the menu.

"); + return; + } else { + self.pulse('.wfSavedMsg'); + } + } else if(res.errorMsg){ + return; + } else { + self.colorbox('400px', 'An error occurred', 'We encountered an error trying to save your changes.'); + } + }); + }, + changeSecurityLevel: function(){ + var level = jQuery('#securityLevel').val(); + for(var k in WFSLevels[level].checkboxes){ + if(k != 'liveTraf_ignorePublishers'){ + jQuery('#' + k).prop("checked", WFSLevels[level].checkboxes[k]); + } + } + for(var k in WFSLevels[level].otherParams){ + if(! /^(?:apiKey|securityLevel|alertEmails|liveTraf_ignoreUsers|liveTraf_ignoreIPs|liveTraf_ignoreUA|liveTraf_hitsMaxSize|maxMem|maxExecutionTime|actUpdateInterval)$/.test(k)){ + jQuery('#' + k).val(WFSLevels[level].otherParams[k]); + } + } + }, + clearAllBlocked: function(op){ + if(op == 'blocked'){ + body = "Are you sure you want to clear all blocked IP addresses and allow visitors from those addresses to access the site again?"; + } else if(op == 'locked'){ + body = "Are you sure you want to clear all locked IP addresses and allow visitors from those addresses to sign in again?"; + } else { + return; + } + this.colorbox('450px', "Please confirm", body + + '

   ' + + '
'); + }, + confirmClearAllBlocked: function(op){ + var self = this; + this.ajax('wordfence_clearAllBlocked', { op: op }, function(res){ + self.staticTabChanged(); + }); + }, + setOwnCountry: function(code){ + this.ownCountry = (code + "").toUpperCase(); + }, + loadBlockedCountries: function(str){ + var codes = str.split(','); + for(var i = 0; i < codes.length; i++){ + jQuery('#wfCountryCheckbox_' + codes[i]).prop('checked', true); + } + }, + saveCountryBlocking: function(){ + var action = jQuery('#wfBlockAction').val(); + var redirURL = jQuery('#wfRedirURL').val(); + var bypassRedirURL = jQuery('#wfBypassRedirURL').val(); + var bypassRedirDest = jQuery('#wfBypassRedirDest').val(); + var bypassViewURL = jQuery('#wfBypassViewURL').val(); + + if(action == 'redir' && (! /^https?:\/\/[^\/]+/i.test(redirURL))){ + this.colorbox('400px', "Please enter a URL for redirection", "You have chosen to redirect blocked countries to a specific page. You need to enter a URL in the text box provided that starts with http:// or https://"); + return; + } + if( bypassRedirURL || bypassRedirDest ){ + if(! (bypassRedirURL && bypassRedirDest)){ + this.colorbox('400px', "Missing data from form", "If you want to set up a URL that will bypass country blocking, you must enter a URL that a visitor can hit and the destination they will be redirected to. You have only entered one of these components. Please enter both."); + return; + } + if(bypassRedirURL == bypassRedirDest){ + this.colorbox('400px', "URLs are the same", "The URL that a user hits to bypass country blocking and the URL they are redirected to are the same. This would cause a circular redirect. Please fix this."); + return; + } + } + if(bypassRedirURL && (! /^(?:\/|http:\/\/)/.test(bypassRedirURL))){ this.invalidCountryURLMsg(bypassRedirURL); return; } + if(bypassRedirDest && (! /^(?:\/|http:\/\/)/.test(bypassRedirDest))){ this.invalidCountryURLMsg(bypassRedirDest); return; } + if(bypassViewURL && (! /^(?:\/|http:\/\/)/.test(bypassViewURL))){ this.invalidCountryURLMsg(bypassViewURL); return; } + + var codesArr = []; + var ownCountryBlocked = false; + var self = this; + jQuery('.wfCountryCheckbox').each(function(idx, elem){ + if(jQuery(elem).is(':checked')){ + var code = jQuery(elem).val(); + codesArr.push(code); + if(code == self.ownCountry){ + ownCountryBlocked = true; + } + } + }); + var codes = codesArr.join(','); + this.countryCodesToSave = codes; + if(ownCountryBlocked){ + this.colorbox('400px', "Please confirm blocking yourself", "You are about to block your own country. This could lead to you being locked out. Please make sure that your user profile on this machine has a current and valid email address and make sure you know what it is. That way if you are locked out, you can send yourself an unlock email. If you're sure you want to block your own country, click 'Confirm' below, otherwise click 'Cancel'.
" + + ' '); + } else { + this.confirmSaveCountryBlocking(); + } + }, + invalidCountryURLMsg: function(URL){ + this.colorbox('400px', "Invalid URL", "URL's that you provide for bypassing country blocking must start with '/' or 'http://' without quotes. The URL that is invalid is: " + URL); + return; + }, + confirmSaveCountryBlocking: function(){ + var action = jQuery('#wfBlockAction').val(); + var redirURL = jQuery('#wfRedirURL').val(); + var loggedInBlocked = jQuery('#wfLoggedInBlocked').is(':checked') ? '1' : '0'; + var loginFormBlocked = jQuery('#wfLoginFormBlocked').is(':checked') ? '1' : '0'; + var restOfSiteBlocked = jQuery('#wfRestOfSiteBlocked').is(':checked') ? '1' : '0'; + var bypassRedirURL = jQuery('#wfBypassRedirURL').val(); + var bypassRedirDest = jQuery('#wfBypassRedirDest').val(); + var bypassViewURL = jQuery('#wfBypassViewURL').val(); + + jQuery('.wfAjax24').show(); + var self = this; + this.ajax('wordfence_saveCountryBlocking', { + blockAction: action, + redirURL: redirURL, + loggedInBlocked: loggedInBlocked, + loginFormBlocked: loginFormBlocked, + restOfSiteBlocked: restOfSiteBlocked, + bypassRedirURL: bypassRedirURL, + bypassRedirDest: bypassRedirDest, + bypassViewURL: bypassViewURL, + codes: this.countryCodesToSave + }, function(res){ + jQuery('.wfAjax24').hide(); + self.pulse('.wfSavedMsg'); + }); + }, + paidUsersOnly: function(msg){ + var pos = jQuery('#paidWrap').position(); + var width = jQuery('#paidWrap').width(); + var height = jQuery('#paidWrap').height(); + jQuery('').insertAfter('#paidWrap').fadeTo(10000, 0.7); + }, + sched_modeChange: function(){ + var self = this; + if(jQuery('#schedMode').val() == 'auto'){ + jQuery('.wfSchedCheckbox').attr('disabled', true); + } else { + jQuery('.wfSchedCheckbox').attr('disabled', false); + } + }, + sched_shortcut: function(mode){ + if(jQuery('#schedMode').val() == 'auto'){ + this.colorbox('400px', 'Change the scan mode', "You need to change the scan mode to manually scheduled scans if you want to select scan times."); + return; + } + jQuery('.wfSchedCheckbox').prop('checked', false); + if(this.schedStartHour === false){ + this.schedStartHour = Math.floor((Math.random()*24)); + } else { + this.schedStartHour++; + if(this.schedStartHour > 23){ + this.schedStartHour = 0; + } + } + if(mode == 'onceDaily'){ + for(var i = 0; i <= 6; i++){ + jQuery('#wfSchedDay_' + i + '_' + this.schedStartHour).attr('checked', true); + } + } else if(mode == 'twiceDaily'){ + var secondHour = this.schedStartHour + 12; + if(secondHour >= 24){ secondHour = secondHour - 24; } + for(var i = 0; i <= 6; i++){ + jQuery('#wfSchedDay_' + i + '_' + this.schedStartHour).attr('checked', true); + jQuery('#wfSchedDay_' + i + '_' + secondHour).attr('checked', true); + } + } else if(mode == 'oddDaysWE'){ + var startDay = Math.floor((Math.random())); + jQuery('#wfSchedDay_1_' + this.schedStartHour).attr('checked', true); + jQuery('#wfSchedDay_3_' + this.schedStartHour).attr('checked', true); + jQuery('#wfSchedDay_5_' + this.schedStartHour).attr('checked', true); + jQuery('#wfSchedDay_6_' + this.schedStartHour).attr('checked', true); + jQuery('#wfSchedDay_0_' + this.schedStartHour).attr('checked', true); + } else if(mode == 'weekends'){ + var startDay = Math.floor((Math.random())); + jQuery('#wfSchedDay_6_' + this.schedStartHour).attr('checked', true); + jQuery('#wfSchedDay_0_' + this.schedStartHour).attr('checked', true); + } else if(mode == 'every6hours'){ + for(var i = 0; i <= 6; i++){ + for(var hour = this.schedStartHour; hour < this.schedStartHour + 24; hour = hour + 6){ + var displayHour = hour; + if(displayHour >= 24){ displayHour = displayHour - 24; } + jQuery('#wfSchedDay_' + i + '_' + displayHour).attr('checked', true); + } + } + } + + }, + sched_save: function(){ + var schedMode = jQuery('#schedMode').val(); + var schedule = []; + for(var day = 0; day <= 6; day++){ + var hours = []; + for(var hour = 0; hour <= 23; hour++){ + var elemID = '#wfSchedDay_' + day + '_' + hour; + hours[hour] = jQuery(elemID).is(':checked') ? '1' : '0'; + } + schedule[day] = hours.join(','); + } + scheduleTxt = schedule.join('|'); + var self = this; + this.ajax('wordfence_saveScanSchedule', { + schedMode: schedMode, + schedTxt: scheduleTxt + }, function(res){ + jQuery('#wfScanStartTime').html(res.nextStart); + jQuery('.wfAjax24').hide(); + self.pulse('.wfSaveMsg'); + }); + }, + twoFacStatus: function(msg){ + jQuery('#wfTwoFacMsg').html(msg); + jQuery('#wfTwoFacMsg').fadeIn(function(){ + setTimeout(function(){ jQuery('#wfTwoFacMsg').fadeOut(); }, 2000); + }); + }, + addTwoFactor: function(username, phone){ + var self = this; + this.ajax('wordfence_addTwoFactor', { + username: username, + phone: phone + }, function(res){ + if(res.ok){ + self.twoFacStatus('User added! Check the user\'s phone to get the activation code.'); + jQuery('
' + jQuery('#wfTwoFacUserTmpl').tmpl(res).html() + '
').prependTo(jQuery('#wfTwoFacUsers')); + } + }); + }, + twoFacActivate: function(userID, code){ + var self = this; + this.ajax('wordfence_twoFacActivate', { + userID: userID, + code: code + }, function(res){ + if(res.ok){ + jQuery('#twoFacCont_' + res.userID).html( + jQuery('#wfTwoFacUserTmpl').tmpl(res) + ); + self.twoFacStatus('Cellphone Sign-in activated for user.'); + } + }); + }, + delTwoFac: function(userID){ + this.ajax('wordfence_twoFacDel', { + userID: userID + }, function(res){ + if(res.ok){ + jQuery('#twoFacCont_' + res.userID).fadeOut(function(){ jQuery(this).remove(); }); + } + }); + }, + loadTwoFactor: function(){ + this.ajax('wordfence_loadTwoFactor', {}, function(res){ + if(res.users && res.users.length > 0){ + for(var i = 0; i < res.users.length; i++){ + jQuery('
' + + jQuery('#wfTwoFacUserTmpl').tmpl(res.users[i]).html() + + + '
').appendTo(jQuery('#wfTwoFacUsers')); + } + } + }); + }, + getQueryParam: function(name){ + name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]"); + var regexS = "[\\?&]" + name + "=([^&#]*)"; + var regex = new RegExp(regexS); + var results = regex.exec(window.location.search); + if(results == null){ + return ""; + } else { + return decodeURIComponent(results[1].replace(/\+/g, " ")); + } + }, + inet_aton: function(dot) { + var d = dot.split('.'); + return ((((((+d[0])*256)+(+d[1]))*256)+(+d[2]))*256)+(+d[3]); + }, + inet_ntoa: function(num){ + var d = num % 256; + for(var i = 3; i > 0; i--) { + num = Math.floor(num/256); + d = num%256 + '.' + d; + } + return d; + }, + removeCacheExclusion: function(id){ + this.ajax('wordfence_removeCacheExclusion', { id: id }, function(res){ window.location.reload(true); }); + }, + addCacheExclusion: function(patternType, pattern){ + if(/^https?:\/\//.test(pattern)){ + this.colorbox('400px', "Incorrect pattern for exclusion", "You can not enter full URL's for exclusion from caching. You entered a full URL that started with http:// or https://. You must enter relative URL's e.g. /exclude/this/page/. You can also enter text that might be contained in the path part of a URL or at the end of the path part of a URL."); + return; + } + + this.ajax('wordfence_addCacheExclusion', { + patternType: patternType, + pattern: pattern + }, function(res){ + if(res.ok){ //Otherwise errorMsg will get caught + window.location.reload(true); + } + }); + }, + loadCacheExclusions: function(){ + this.ajax('wordfence_loadCacheExclusions', {}, function(res){ + if(res.ex instanceof Array && res.ex.length > 0){ + for(var i = 0; i < res.ex.length; i++){ + var newElem = jQuery('#wfCacheExclusionTmpl').tmpl(res.ex[i]); + newElem.prependTo('#wfCacheExclusions').fadeIn(); + } + jQuery('

Cache Exclusions

').prependTo('#wfCacheExclusions'); + } else { + jQuery('

Cache Exclusions

There are not currently any exclusions. If you have a site that does not change often, it is perfectly normal to not have any pages you want to exclude from the cache.

').prependTo('#wfCacheExclusions'); + } + + }); + } +}; +window['WFAD'] = window['wordfenceAdmin']; +} +jQuery(function(){ + wordfenceAdmin.init(); +}); diff --git a/wp-content/plugins/wordfence/js/jquery.colorbox-min.js b/wp-content/plugins/wordfence/js/jquery.colorbox-min.js new file mode 100644 index 0000000..e84ff66 --- /dev/null +++ b/wp-content/plugins/wordfence/js/jquery.colorbox-min.js @@ -0,0 +1,4 @@ +// ColorBox v1.3.19 - jQuery lightbox plugin +// (c) 2011 Jack Moore - jacklmoore.com +// License: http://www.opensource.org/licenses/mit-license.php +(function(a,b,c){function Z(c,d,e){var g=b.createElement(c);return d&&(g.id=f+d),e&&(g.style.cssText=e),a(g)}function $(a){var b=y.length,c=(Q+a)%b;return c<0?b+c:c}function _(a,b){return Math.round((/%/.test(a)?(b==="x"?z.width():z.height())/100:1)*parseInt(a,10))}function ba(a){return K.photo||/\.(gif|png|jpe?g|bmp|ico)((#|\?).*)?$/i.test(a)}function bb(){var b;K=a.extend({},a.data(P,e));for(b in K)a.isFunction(K[b])&&b.slice(0,2)!=="on"&&(K[b]=K[b].call(P));K.rel=K.rel||P.rel||"nofollow",K.href=K.href||a(P).attr("href"),K.title=K.title||P.title,typeof K.href=="string"&&(K.href=a.trim(K.href))}function bc(b,c){a.event.trigger(b),c&&c.call(P)}function bd(){var a,b=f+"Slideshow_",c="click."+f,d,e,g;K.slideshow&&y[1]?(d=function(){F.text(K.slideshowStop).unbind(c).bind(j,function(){if(K.loop||y[Q+1])a=setTimeout(W.next,K.slideshowSpeed)}).bind(i,function(){clearTimeout(a)}).one(c+" "+k,e),r.removeClass(b+"off").addClass(b+"on"),a=setTimeout(W.next,K.slideshowSpeed)},e=function(){clearTimeout(a),F.text(K.slideshowStart).unbind([j,i,k,c].join(" ")).one(c,function(){W.next(),d()}),r.removeClass(b+"on").addClass(b+"off")},K.slideshowAuto?d():e()):r.removeClass(b+"off "+b+"on")}function be(b){U||(P=b,bb(),y=a(P),Q=0,K.rel!=="nofollow"&&(y=a("."+g).filter(function(){var b=a.data(this,e).rel||this.rel;return b===K.rel}),Q=y.index(P),Q===-1&&(y=y.add(P),Q=y.length-1)),S||(S=T=!0,r.show(),K.returnFocus&&a(P).blur().one(l,function(){a(this).focus()}),q.css({opacity:+K.opacity,cursor:K.overlayClose?"pointer":"auto"}).show(),K.w=_(K.initialWidth,"x"),K.h=_(K.initialHeight,"y"),W.position(),o&&z.bind("resize."+p+" scroll."+p,function(){q.css({width:z.width(),height:z.height(),top:z.scrollTop(),left:z.scrollLeft()})}).trigger("resize."+p),bc(h,K.onOpen),J.add(D).hide(),I.html(K.close).show()),W.load(!0))}function bf(){!r&&b.body&&(Y=!1,z=a(c),r=Z(X).attr({id:e,"class":n?f+(o?"IE6":"IE"):""}).hide(),q=Z(X,"Overlay",o?"position:absolute":"").hide(),s=Z(X,"Wrapper"),t=Z(X,"Content").append(A=Z(X,"LoadedContent","width:0; height:0; overflow:hidden"),C=Z(X,"LoadingOverlay").add(Z(X,"LoadingGraphic")),D=Z(X,"Title"),E=Z(X,"Current"),G=Z(X,"Next"),H=Z(X,"Previous"),F=Z(X,"Slideshow").bind(h,bd),I=Z(X,"Close")),s.append(Z(X).append(Z(X,"TopLeft"),u=Z(X,"TopCenter"),Z(X,"TopRight")),Z(X,!1,"clear:left").append(v=Z(X,"MiddleLeft"),t,w=Z(X,"MiddleRight")),Z(X,!1,"clear:left").append(Z(X,"BottomLeft"),x=Z(X,"BottomCenter"),Z(X,"BottomRight"))).find("div div").css({"float":"left"}),B=Z(X,!1,"position:absolute; width:9999px; visibility:hidden; display:none"),J=G.add(H).add(E).add(F),a(b.body).append(q,r.append(s,B)))}function bg(){return r?(Y||(Y=!0,L=u.height()+x.height()+t.outerHeight(!0)-t.height(),M=v.width()+w.width()+t.outerWidth(!0)-t.width(),N=A.outerHeight(!0),O=A.outerWidth(!0),r.css({"padding-bottom":L,"padding-right":M}),G.click(function(){W.next()}),H.click(function(){W.prev()}),I.click(function(){W.close()}),q.click(function(){K.overlayClose&&W.close()}),a(b).bind("keydown."+f,function(a){var b=a.keyCode;S&&K.escKey&&b===27&&(a.preventDefault(),W.close()),S&&K.arrowKey&&y[1]&&(b===37?(a.preventDefault(),H.click()):b===39&&(a.preventDefault(),G.click()))}),a("."+g,b).live("click",function(a){a.which>1||a.shiftKey||a.altKey||a.metaKey||(a.preventDefault(),be(this))})),!0):!1}var d={transition:"elastic",speed:300,width:!1,initialWidth:"600",innerWidth:!1,maxWidth:!1,height:!1,initialHeight:"450",innerHeight:!1,maxHeight:!1,scalePhotos:!0,scrolling:!0,inline:!1,html:!1,iframe:!1,fastIframe:!0,photo:!1,href:!1,title:!1,rel:!1,opacity:.9,preloading:!0,current:"image {current} of {total}",previous:"previous",next:"next",close:"close",open:!1,returnFocus:!0,reposition:!0,loop:!0,slideshow:!1,slideshowAuto:!0,slideshowSpeed:2500,slideshowStart:"start slideshow",slideshowStop:"stop slideshow",onOpen:!1,onLoad:!1,onComplete:!1,onCleanup:!1,onClosed:!1,overlayClose:!0,escKey:!0,arrowKey:!0,top:!1,bottom:!1,left:!1,right:!1,fixed:!1,data:undefined},e="colorbox",f="cbox",g=f+"Element",h=f+"_open",i=f+"_load",j=f+"_complete",k=f+"_cleanup",l=f+"_closed",m=f+"_purge",n=!a.support.opacity&&!a.support.style,o=n&&!c.XMLHttpRequest,p=f+"_IE6",q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X="div",Y;if(a.colorbox)return;a(bf),W=a.fn[e]=a[e]=function(b,c){var f=this;b=b||{},bf();if(bg()){if(!f[0]){if(f.selector)return f;f=a("
"),b.open=!0}c&&(b.onComplete=c),f.each(function(){a.data(this,e,a.extend({},a.data(this,e)||d,b))}).addClass(g),(a.isFunction(b.open)&&b.open.call(f)||b.open)&&be(f[0])}return f},W.position=function(a,b){function i(a){u[0].style.width=x[0].style.width=t[0].style.width=a.style.width,t[0].style.height=v[0].style.height=w[0].style.height=a.style.height}var c=0,d=0,e=r.offset(),g=z.scrollTop(),h=z.scrollLeft();z.unbind("resize."+f),r.css({top:-9e4,left:-9e4}),K.fixed&&!o?(e.top-=g,e.left-=h,r.css({position:"fixed"})):(c=g,d=h,r.css({position:"absolute"})),K.right!==!1?d+=Math.max(z.width()-K.w-O-M-_(K.right,"x"),0):K.left!==!1?d+=_(K.left,"x"):d+=Math.round(Math.max(z.width()-K.w-O-M,0)/2),K.bottom!==!1?c+=Math.max(z.height()-K.h-N-L-_(K.bottom,"y"),0):K.top!==!1?c+=_(K.top,"y"):c+=Math.round(Math.max(z.height()-K.h-N-L,0)/2),r.css({top:e.top,left:e.left}),a=r.width()===K.w+O&&r.height()===K.h+N?0:a||0,s[0].style.width=s[0].style.height="9999px",r.dequeue().animate({width:K.w+O,height:K.h+N,top:c,left:d},{duration:a,complete:function(){i(this),T=!1,s[0].style.width=K.w+O+M+"px",s[0].style.height=K.h+N+L+"px",K.reposition&&setTimeout(function(){z.bind("resize."+f,W.position)},1),b&&b()},step:function(){i(this)}})},W.resize=function(a){S&&(a=a||{},a.width&&(K.w=_(a.width,"x")-O-M),a.innerWidth&&(K.w=_(a.innerWidth,"x")),A.css({width:K.w}),a.height&&(K.h=_(a.height,"y")-N-L),a.innerHeight&&(K.h=_(a.innerHeight,"y")),!a.innerHeight&&!a.height&&(A.css({height:"auto"}),K.h=A.height()),A.css({height:K.h}),W.position(K.transition==="none"?0:K.speed))},W.prep=function(b){function g(){return K.w=K.w||A.width(),K.w=K.mw&&K.mw1){typeof K.current=="string"&&E.html(K.current.replace("{current}",Q+1).replace("{total}",g)).show(),G[K.loop||QK.mw&&(a=(R.width-K.mw)/R.width,d()),K.mh&&R.height>K.mh&&(a=(R.height-K.mh)/R.height,d())),K.h&&(R.style.marginTop=Math.max(K.h-R.height,0)/2+"px"),y[1]&&(K.loop||y[Q+1])&&(R.style.cursor="pointer",R.onclick=function(){W.next()}),n&&(R.style.msInterpolationMode="bicubic"),setTimeout(function(){e(R)},1)}),setTimeout(function(){R.src=c},1)):c&&B.load(c,K.data,function(b,c,d){e(c==="error"?Z(X,"Error").text("Request unsuccessful: "+d.statusText):a(this).contents())})},W.next=function(){!T&&y[1]&&(K.loop||y[Q+1])&&(Q=$(1),W.load())},W.prev=function(){!T&&y[1]&&(K.loop||Q)&&(Q=$(-1),W.load())},W.close=function(){S&&!U&&(U=!0,S=!1,bc(k,K.onCleanup),z.unbind("."+f+" ."+p),q.fadeTo(200,0),r.stop().fadeTo(300,0,function(){r.add(q).css({opacity:1,cursor:"auto"}).hide(),bc(m),A.remove(),setTimeout(function(){U=!1,bc(l,K.onClosed)},1)}))},W.remove=function(){a([]).add(r).add(q).remove(),r=null,a("."+g).removeData(e).removeClass(g).die()},W.element=function(){return a(P)},W.settings=d})(jQuery,document,this); \ No newline at end of file diff --git a/wp-content/plugins/wordfence/js/jquery.dataTables.min.js b/wp-content/plugins/wordfence/js/jquery.dataTables.min.js new file mode 100644 index 0000000..4280c6d --- /dev/null +++ b/wp-content/plugins/wordfence/js/jquery.dataTables.min.js @@ -0,0 +1,151 @@ +/* + * File: jquery.dataTables.min.js + * Version: 1.8.2 + * Author: Allan Jardine (www.sprymedia.co.uk) + * Info: www.datatables.net + * + * Copyright 2008-2011 Allan Jardine, all rights reserved. + * + * This source file is free software, under either the GPL v2 license or a + * BSD style license, as supplied with this software. + * + * This source file is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details. + */ +(function(i,za,p){i.fn.dataTableSettings=[];var D=i.fn.dataTableSettings;i.fn.dataTableExt={};var n=i.fn.dataTableExt;n.sVersion="1.8.2";n.sErrMode="alert";n.iApiIndex=0;n.oApi={};n.afnFiltering=[];n.aoFeatures=[];n.ofnSearch={};n.afnSortData=[];n.oStdClasses={sPagePrevEnabled:"paginate_enabled_previous",sPagePrevDisabled:"paginate_disabled_previous",sPageNextEnabled:"paginate_enabled_next",sPageNextDisabled:"paginate_disabled_next",sPageJUINext:"",sPageJUIPrev:"",sPageButton:"paginate_button",sPageButtonActive:"paginate_active", +sPageButtonStaticDisabled:"paginate_button paginate_button_disabled",sPageFirst:"first",sPagePrevious:"previous",sPageNext:"next",sPageLast:"last",sStripeOdd:"odd",sStripeEven:"even",sRowEmpty:"dataTables_empty",sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter",sInfo:"dataTables_info",sPaging:"dataTables_paginate paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"sorting_asc",sSortDesc:"sorting_desc",sSortable:"sorting",sSortableAsc:"sorting_asc_disabled",sSortableDesc:"sorting_desc_disabled", +sSortableNone:"sorting_disabled",sSortColumn:"sorting_",sSortJUIAsc:"",sSortJUIDesc:"",sSortJUI:"",sSortJUIAscAllowed:"",sSortJUIDescAllowed:"",sSortJUIWrapper:"",sSortIcon:"",sScrollWrapper:"dataTables_scroll",sScrollHead:"dataTables_scrollHead",sScrollHeadInner:"dataTables_scrollHeadInner",sScrollBody:"dataTables_scrollBody",sScrollFoot:"dataTables_scrollFoot",sScrollFootInner:"dataTables_scrollFootInner",sFooterTH:""};n.oJUIClasses={sPagePrevEnabled:"fg-button ui-button ui-state-default ui-corner-left", +sPagePrevDisabled:"fg-button ui-button ui-state-default ui-corner-left ui-state-disabled",sPageNextEnabled:"fg-button ui-button ui-state-default ui-corner-right",sPageNextDisabled:"fg-button ui-button ui-state-default ui-corner-right ui-state-disabled",sPageJUINext:"ui-icon ui-icon-circle-arrow-e",sPageJUIPrev:"ui-icon ui-icon-circle-arrow-w",sPageButton:"fg-button ui-button ui-state-default",sPageButtonActive:"fg-button ui-button ui-state-default ui-state-disabled",sPageButtonStaticDisabled:"fg-button ui-button ui-state-default ui-state-disabled", +sPageFirst:"first ui-corner-tl ui-corner-bl",sPagePrevious:"previous",sPageNext:"next",sPageLast:"last ui-corner-tr ui-corner-br",sStripeOdd:"odd",sStripeEven:"even",sRowEmpty:"dataTables_empty",sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter",sInfo:"dataTables_info",sPaging:"dataTables_paginate fg-buttonset ui-buttonset fg-buttonset-multi ui-buttonset-multi paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"ui-state-default",sSortDesc:"ui-state-default",sSortable:"ui-state-default", +sSortableAsc:"ui-state-default",sSortableDesc:"ui-state-default",sSortableNone:"ui-state-default",sSortColumn:"sorting_",sSortJUIAsc:"css_right ui-icon ui-icon-triangle-1-n",sSortJUIDesc:"css_right ui-icon ui-icon-triangle-1-s",sSortJUI:"css_right ui-icon ui-icon-carat-2-n-s",sSortJUIAscAllowed:"css_right ui-icon ui-icon-carat-1-n",sSortJUIDescAllowed:"css_right ui-icon ui-icon-carat-1-s",sSortJUIWrapper:"DataTables_sort_wrapper",sSortIcon:"DataTables_sort_icon",sScrollWrapper:"dataTables_scroll", +sScrollHead:"dataTables_scrollHead ui-state-default",sScrollHeadInner:"dataTables_scrollHeadInner",sScrollBody:"dataTables_scrollBody",sScrollFoot:"dataTables_scrollFoot ui-state-default",sScrollFootInner:"dataTables_scrollFootInner",sFooterTH:"ui-state-default"};n.oPagination={two_button:{fnInit:function(g,l,s){var t,w,y;if(g.bJUI){t=p.createElement("a");w=p.createElement("a");y=p.createElement("span");y.className=g.oClasses.sPageJUINext;w.appendChild(y);y=p.createElement("span");y.className=g.oClasses.sPageJUIPrev; +t.appendChild(y)}else{t=p.createElement("div");w=p.createElement("div")}t.className=g.oClasses.sPagePrevDisabled;w.className=g.oClasses.sPageNextDisabled;t.title=g.oLanguage.oPaginate.sPrevious;w.title=g.oLanguage.oPaginate.sNext;l.appendChild(t);l.appendChild(w);i(t).bind("click.DT",function(){g.oApi._fnPageChange(g,"previous")&&s(g)});i(w).bind("click.DT",function(){g.oApi._fnPageChange(g,"next")&&s(g)});i(t).bind("selectstart.DT",function(){return false});i(w).bind("selectstart.DT",function(){return false}); +if(g.sTableId!==""&&typeof g.aanFeatures.p=="undefined"){l.setAttribute("id",g.sTableId+"_paginate");t.setAttribute("id",g.sTableId+"_previous");w.setAttribute("id",g.sTableId+"_next")}},fnUpdate:function(g){if(g.aanFeatures.p)for(var l=g.aanFeatures.p,s=0,t=l.length;s=w-t){t=w-s+1;x=w}else{t=y-Math.ceil(s/2)+1;x=t+s-1}for(s=t;s<=x;s++)F+=y!=s?''+s+"":''+s+"";x=g.aanFeatures.p;var z,$=function(M){g._iDisplayStart=(this.innerHTML*1-1)*g._iDisplayLength;l(g);M.preventDefault()},X=function(){return false};s=0;for(t=x.length;sl?1:0},"string-desc":function(g,l){if(typeof g!="string")g="";if(typeof l!="string")l="";g=g.toLowerCase();l=l.toLowerCase();return gl?-1:0},"html-asc":function(g,l){g=g.replace(/<.*?>/g,"").toLowerCase();l=l.replace(/<.*?>/g,"").toLowerCase();return g< +l?-1:g>l?1:0},"html-desc":function(g,l){g=g.replace(/<.*?>/g,"").toLowerCase();l=l.replace(/<.*?>/g,"").toLowerCase();return gl?-1:0},"date-asc":function(g,l){g=Date.parse(g);l=Date.parse(l);if(isNaN(g)||g==="")g=Date.parse("01/01/1970 00:00:00");if(isNaN(l)||l==="")l=Date.parse("01/01/1970 00:00:00");return g-l},"date-desc":function(g,l){g=Date.parse(g);l=Date.parse(l);if(isNaN(g)||g==="")g=Date.parse("01/01/1970 00:00:00");if(isNaN(l)||l==="")l=Date.parse("01/01/1970 00:00:00");return l- +g},"numeric-asc":function(g,l){return(g=="-"||g===""?0:g*1)-(l=="-"||l===""?0:l*1)},"numeric-desc":function(g,l){return(l=="-"||l===""?0:l*1)-(g=="-"||g===""?0:g*1)}};n.aTypes=[function(g){if(typeof g=="number")return"numeric";else if(typeof g!="string")return null;var l,s=false;l=g.charAt(0);if("0123456789-".indexOf(l)==-1)return null;for(var t=1;t")!=-1)return"html";return null}];n.fnVersionCheck=function(g){var l=function(x,v){for(;x.length=parseInt(w,10)};n._oExternConfig={iNextUnique:0};i.fn.dataTable=function(g){function l(){this.fnRecordsTotal= +function(){return this.oFeatures.bServerSide?parseInt(this._iRecordsTotal,10):this.aiDisplayMaster.length};this.fnRecordsDisplay=function(){return this.oFeatures.bServerSide?parseInt(this._iRecordsDisplay,10):this.aiDisplay.length};this.fnDisplayEnd=function(){return this.oFeatures.bServerSide?this.oFeatures.bPaginate===false||this._iDisplayLength==-1?this._iDisplayStart+this.aiDisplay.length:Math.min(this._iDisplayStart+this._iDisplayLength,this._iRecordsDisplay):this._iDisplayEnd};this.sInstance= +this.oInstance=null;this.oFeatures={bPaginate:true,bLengthChange:true,bFilter:true,bSort:true,bInfo:true,bAutoWidth:true,bProcessing:false,bSortClasses:true,bStateSave:false,bServerSide:false,bDeferRender:false};this.oScroll={sX:"",sXInner:"",sY:"",bCollapse:false,bInfinite:false,iLoadGap:100,iBarWidth:0,bAutoCss:true};this.aanFeatures=[];this.oLanguage={sProcessing:"Processing...",sLengthMenu:"Show _MENU_ entries",sZeroRecords:"No matching records found",sEmptyTable:"No data available in table", +sLoadingRecords:"Loading...",sInfo:"Showing _START_ to _END_ of _TOTAL_ entries",sInfoEmpty:"Showing 0 to 0 of 0 entries",sInfoFiltered:"(filtered from _MAX_ total entries)",sInfoPostFix:"",sInfoThousands:",",sSearch:"Search:",sUrl:"",oPaginate:{sFirst:"First",sPrevious:"Previous",sNext:"Next",sLast:"Last"},fnInfoCallback:null};this.aoData=[];this.aiDisplay=[];this.aiDisplayMaster=[];this.aoColumns=[];this.aoHeader=[];this.aoFooter=[];this.iNextId=0;this.asDataSearch=[];this.oPreviousSearch={sSearch:"", +bRegex:false,bSmart:true};this.aoPreSearchCols=[];this.aaSorting=[[0,"asc",0]];this.aaSortingFixed=null;this.asStripeClasses=[];this.asDestroyStripes=[];this.sDestroyWidth=0;this.fnFooterCallback=this.fnHeaderCallback=this.fnRowCallback=null;this.aoDrawCallback=[];this.fnInitComplete=this.fnPreDrawCallback=null;this.sTableId="";this.nTableWrapper=this.nTBody=this.nTFoot=this.nTHead=this.nTable=null;this.bInitialised=this.bDeferLoading=false;this.aoOpenRows=[];this.sDom="lfrtip";this.sPaginationType= +"two_button";this.iCookieDuration=7200;this.sCookiePrefix="SpryMedia_DataTables_";this.fnCookieCallback=null;this.aoStateSave=[];this.aoStateLoad=[];this.sAjaxSource=this.oLoadedState=null;this.sAjaxDataProp="aaData";this.bAjaxDataGet=true;this.jqXHR=null;this.fnServerData=function(a,b,c,d){d.jqXHR=i.ajax({url:a,data:b,success:function(f){i(d.oInstance).trigger("xhr",d);c(f)},dataType:"json",cache:false,error:function(f,e){e=="parsererror"&&alert("DataTables warning: JSON data from server could not be parsed. This is caused by a JSON formatting error.")}})}; +this.aoServerParams=[];this.fnFormatNumber=function(a){if(a<1E3)return a;else{var b=a+"";a=b.split("");var c="";b=b.length;for(var d=0;d=0;e--)!a.aoColumns[e].bVisible&&!c&&h[d].splice(e,1);j.push([])}d=0;for(f=h.length;d=a.fnRecordsDisplay()?0:a.iInitDisplayStart;a.iInitDisplayStart=-1;E(a)}if(a.bDeferLoading){a.bDeferLoading=false;a.iDraw++}else if(a.oFeatures.bServerSide){if(!a.bDestroying&&!Ca(a))return}else a.iDraw++;if(a.aiDisplay.length!==0){var h=a._iDisplayStart,j=a._iDisplayEnd;if(a.oFeatures.bServerSide){h=0;j=a.aoData.length}for(h= +h;h=0;b--)c[b].parentNode.removeChild(c[b])}b=0;for(c=d.length;b=0;b--)a.aoDrawCallback[b].fn.call(a.oInstance,a);i(a.oInstance).trigger("draw",a);a.bSorted=false;a.bFiltered=false;a.bDrawing=false;if(a.oFeatures.bServerSide){K(a,false);typeof a._bInitComplete=="undefined"&&w(a)}}}function da(a){if(a.oFeatures.bSort)R(a,a.oPreviousSearch);else if(a.oFeatures.bFilter)N(a, +a.oPreviousSearch);else{E(a);C(a)}}function Ca(a){if(a.bAjaxDataGet){a.iDraw++;K(a,true);var b=Da(a);ha(a,b);a.fnServerData.call(a.oInstance,a.sAjaxSource,b,function(c){Ea(a,c)},a);return false}else return true}function Da(a){var b=a.aoColumns.length,c=[],d,f;c.push({name:"sEcho",value:a.iDraw});c.push({name:"iColumns",value:b});c.push({name:"sColumns",value:ka(a)});c.push({name:"iDisplayStart",value:a._iDisplayStart});c.push({name:"iDisplayLength",value:a.oFeatures.bPaginate!==false?a._iDisplayLength: +-1});for(f=0;f")c=c.parentNode;else if(h=="l"&&a.oFeatures.bPaginate&&a.oFeatures.bLengthChange){f=Ga(a);e=1}else if(h=="f"&&a.oFeatures.bFilter){f=Ha(a);e=1}else if(h=="r"&&a.oFeatures.bProcessing){f=Ia(a);e=1}else if(h=="t"){f=Ja(a);e=1}else if(h=="i"&&a.oFeatures.bInfo){f=Ka(a);e=1}else if(h=="p"&&a.oFeatures.bPaginate){f=La(a);e=1}else if(n.aoFeatures.length!==0){j=n.aoFeatures;u=0;for(k=j.length;ui(a.nTable).height()-a.oScroll.iLoadGap)if(a.fnDisplayEnd()0&&a.nTable.removeChild(h[0]);if(a.nTFoot!==null){k=a.nTable.getElementsByTagName("tfoot");k.length>0&&a.nTable.removeChild(k[0])}h=a.nTHead.cloneNode(true);a.nTable.insertBefore(h,a.nTable.childNodes[0]);if(a.nTFoot!==null){k=a.nTFoot.cloneNode(true); +a.nTable.insertBefore(k,a.nTable.childNodes[1])}if(a.oScroll.sX===""){d.style.width="100%";b.parentNode.style.width="100%"}var U=S(a,h);f=0;for(e=U.length;fd.offsetHeight||i(d).css("overflow-y")=="scroll"))a.nTable.style.width=q(i(a.nTable).outerWidth()-a.oScroll.iBarWidth)}else if(a.oScroll.sXInner!== +"")a.nTable.style.width=q(a.oScroll.sXInner);else if(f==i(d).width()&&i(d).height()f-a.oScroll.iBarWidth)a.nTable.style.width=q(f)}else a.nTable.style.width=q(f);f=i(a.nTable).outerWidth();e=a.nTHead.getElementsByTagName("tr");h=h.getElementsByTagName("tr");P(function(I,na){m=I.style;m.paddingTop="0";m.paddingBottom="0";m.borderTopWidth="0";m.borderBottomWidth="0";m.height=0;r=i(I).width();na.style.width= +q(r);H.push(r)},h,e);i(h).height(0);if(a.nTFoot!==null){j=k.getElementsByTagName("tr");k=a.nTFoot.getElementsByTagName("tr");P(function(I,na){m=I.style;m.paddingTop="0";m.paddingBottom="0";m.borderTopWidth="0";m.borderBottomWidth="0";m.height=0;r=i(I).width();na.style.width=q(r);H.push(r)},j,k);i(j).height(0)}P(function(I){I.innerHTML="";I.style.width=q(H.shift())},h);a.nTFoot!==null&&P(function(I){I.innerHTML="";I.style.width=q(H.shift())},j);if(i(a.nTable).outerWidth()d.offsetHeight|| +i(d).css("overflow-y")=="scroll"?f+a.oScroll.iBarWidth:f;if(B&&(d.scrollHeight>d.offsetHeight||i(d).css("overflow-y")=="scroll"))a.nTable.style.width=q(j-a.oScroll.iBarWidth);d.style.width=q(j);b.parentNode.style.width=q(j);if(a.nTFoot!==null)L.parentNode.style.width=q(j);if(a.oScroll.sX==="")J(a,1,"The table cannot fit into the current element which will cause column misalignment. The table has been drawn at its minimum possible width.");else a.oScroll.sXInner!==""&&J(a,1,"The table cannot fit into the current element which will cause column misalignment. Increase the sScrollXInner value or remove it to allow automatic calculation")}else{d.style.width= +q("100%");b.parentNode.style.width=q("100%");if(a.nTFoot!==null)L.parentNode.style.width=q("100%")}if(a.oScroll.sY==="")if(B)d.style.height=q(a.nTable.offsetHeight+a.oScroll.iBarWidth);if(a.oScroll.sY!==""&&a.oScroll.bCollapse){d.style.height=q(a.oScroll.sY);B=a.oScroll.sX!==""&&a.nTable.offsetWidth>d.offsetWidth?a.oScroll.iBarWidth:0;if(a.nTable.offsetHeight'):b===""?'':b+' ';var c=p.createElement("div"); +c.className=a.oClasses.sFilter;c.innerHTML="";a.sTableId!==""&&typeof a.aanFeatures.f=="undefined"&&c.setAttribute("id",a.sTableId+"_filter");b=i("input",c);b.val(a.oPreviousSearch.sSearch.replace('"',"""));b.bind("keyup.DT",function(){for(var d=a.aanFeatures.f,f=0,e=d.length;f=0;d--){f=qa(G(a,a.aiDisplay[d],c,"filter"),a.aoColumns[c].sType);if(!b.test(f)){a.aiDisplay.splice(d,1);e++}}}}function Oa(a,b,c,d,f){var e=pa(b,d,f);if(typeof c=="undefined"||c===null)c=0;if(n.afnFiltering.length!==0)c=1;if(b.length<=0){a.aiDisplay.splice(0,a.aiDisplay.length);a.aiDisplay=a.aiDisplayMaster.slice()}else if(a.aiDisplay.length==a.aiDisplayMaster.length|| +a.oPreviousSearch.sSearch.length>b.length||c==1||b.indexOf(a.oPreviousSearch.sSearch)!==0){a.aiDisplay.splice(0,a.aiDisplay.length);oa(a,1);for(c=0;c/g,"");else if(typeof a=="string")return a.replace(/\n/g," ");else if(a===null)return"";return a}function R(a,b){var c,d,f,e,h=[],j=[],k=n.oSort;d=a.aoData;var m=a.aoColumns;if(!a.oFeatures.bServerSide&& +(a.aaSorting.length!==0||a.aaSortingFixed!==null)){h=a.aaSortingFixed!==null?a.aaSortingFixed.concat(a.aaSorting):a.aaSorting.slice();for(c=0;c=h)for(b=0;b=0?a._iDisplayStart-a._iDisplayLength:0;if(a._iDisplayStart<0)a._iDisplayStart=0}else if(b=="next")if(a._iDisplayLength>=0){if(a._iDisplayStart+a._iDisplayLength=0){b=parseInt((a.fnRecordsDisplay()- +1)/a._iDisplayLength,10)+1;a._iDisplayStart=(b-1)*a._iDisplayLength}else a._iDisplayStart=0;else J(a,0,"Unknown paging action: "+b);i(a.oInstance).trigger("page",a);return c!=a._iDisplayStart}function Ka(a){var b=p.createElement("div");b.className=a.oClasses.sInfo;if(typeof a.aanFeatures.i=="undefined"){a.aoDrawCallback.push({fn:Ra,sName:"information"});a.sTableId!==""&&b.setAttribute("id",a.sTableId+"_info")}return b}function Ra(a){if(!(!a.oFeatures.bInfo||a.aanFeatures.i.length===0)){var b=a._iDisplayStart+ +1,c=a.fnDisplayEnd(),d=a.fnRecordsTotal(),f=a.fnRecordsDisplay(),e=a.fnFormatNumber(b),h=a.fnFormatNumber(c),j=a.fnFormatNumber(d),k=a.fnFormatNumber(f);if(a.oScroll.bInfinite)e=a.fnFormatNumber(1);e=a.fnRecordsDisplay()===0&&a.fnRecordsDisplay()==a.fnRecordsTotal()?a.oLanguage.sInfoEmpty+a.oLanguage.sInfoPostFix:a.fnRecordsDisplay()===0?a.oLanguage.sInfoEmpty+" "+a.oLanguage.sInfoFiltered.replace("_MAX_",j)+a.oLanguage.sInfoPostFix:a.fnRecordsDisplay()==a.fnRecordsTotal()?a.oLanguage.sInfo.replace("_START_", +e).replace("_END_",h).replace("_TOTAL_",k)+a.oLanguage.sInfoPostFix:a.oLanguage.sInfo.replace("_START_",e).replace("_END_",h).replace("_TOTAL_",k)+" "+a.oLanguage.sInfoFiltered.replace("_MAX_",a.fnFormatNumber(a.fnRecordsTotal()))+a.oLanguage.sInfoPostFix;if(a.oLanguage.fnInfoCallback!==null)e=a.oLanguage.fnInfoCallback(a,b,c,d,f,e);a=a.aanFeatures.i;b=0;for(c=a.length;b",c,d;if(a.aLengthMenu.length==2&&typeof a.aLengthMenu[0]=="object"&&typeof a.aLengthMenu[1]=="object"){c=0;for(d=a.aLengthMenu[0].length;c'+a.aLengthMenu[1][c]+""}else{c=0;for(d=a.aLengthMenu.length;c'+a.aLengthMenu[c]+""}b+="";var f=p.createElement("div");a.sTableId!==""&&typeof a.aanFeatures.l=="undefined"&&f.setAttribute("id",a.sTableId+"_length"); +f.className=a.oClasses.sLength;f.innerHTML="";i('select option[value="'+a._iDisplayLength+'"]',f).attr("selected",true);i("select",f).bind("change.DT",function(){var e=i(this).val(),h=a.aanFeatures.l;c=0;for(d=h.length;ca.aiDisplay.length||a._iDisplayLength==-1?a.aiDisplay.length:a._iDisplayStart+a._iDisplayLength}function Sa(a,b){if(!a||a===null||a==="")return 0;if(typeof b=="undefined")b=p.getElementsByTagName("body")[0];var c=p.createElement("div");c.style.width=q(a);b.appendChild(c);a=c.offsetWidth;b.removeChild(c);return a}function ga(a){var b=0,c,d=0,f=a.aoColumns.length,e,h=i("th", +a.nTHead);for(e=0;etd",b);h=S(a,e);for(e=d=0;e0)a.aoColumns[e].sWidth=q(c);d++}a.nTable.style.width=q(i(b).outerWidth());b.parentNode.removeChild(b)}}function Ua(a,b){if(a.oScroll.sX===""&&a.oScroll.sY!==""){i(b).width();b.style.width=q(i(b).outerWidth()-a.oScroll.iBarWidth)}else if(a.oScroll.sX!== +"")b.style.width=q(i(b).outerWidth())}function Ta(a,b){var c=Va(a,b);if(c<0)return null;if(a.aoData[c].nTr===null){var d=p.createElement("td");d.innerHTML=G(a,c,b,"");return d}return Q(a,c)[b]}function Va(a,b){for(var c=-1,d=-1,f=0;f/g,"");if(e.length>c){c=e.length;d=f}}return d}function q(a){if(a===null)return"0px";if(typeof a=="number"){if(a<0)return"0px";return a+"px"}var b=a.charCodeAt(a.length-1);if(b<48||b>57)return a;return a+ +"px"}function Za(a,b){if(a.length!=b.length)return 1;for(var c=0;cb&&a[d]--;c!=-1&&a.splice(c,1)}function Fa(a,b){b=b.split(",");for(var c=[],d=0,f=a.aoColumns.length;d4096){a=p.cookie.split(";");for(var j=0,k=a.length;j=d.aiDisplay.length){d._iDisplayStart-=d._iDisplayLength;if(d._iDisplayStart<0)d._iDisplayStart=0}if(typeof c=="undefined"||c){E(d);C(d)}return f};this.fnClearTable=function(a){var b=A(this[n.iApiIndex]);la(b);if(typeof a=="undefined"||a)C(b)};this.fnOpen=function(a,b,c){var d=A(this[n.iApiIndex]);this.fnClose(a);var f=p.createElement("tr"),e=p.createElement("td");f.appendChild(e);e.className=c; +e.colSpan=Z(d);if(typeof b.jquery!="undefined"||typeof b=="object")e.appendChild(b);else e.innerHTML=b;b=i("tr",d.nTBody);i.inArray(a,b)!=-1&&i(f).insertAfter(a);d.aoOpenRows.push({nTr:f,nParent:a});return f};this.fnClose=function(a){for(var b=A(this[n.iApiIndex]),c=0;c=Z(d);if(!j)for(f=a;ftr>td."+a.oClasses.sRowEmpty,a.nTable).parent().remove(); +if(a.nTable!=a.nTHead.parentNode){i(a.nTable).children("thead").remove();a.nTable.appendChild(a.nTHead)}if(a.nTFoot&&a.nTable!=a.nTFoot.parentNode){i(a.nTable).children("tfoot").remove();a.nTable.appendChild(a.nTFoot)}a.nTable.parentNode.removeChild(a.nTable);i(a.nTableWrapper).remove();a.aaSorting=[];a.aaSortingFixed=[];V(a);i(ba(a)).removeClass(a.asStripeClasses.join(" "));if(a.bJUI){i("th",a.nTHead).removeClass([n.oStdClasses.sSortable,n.oJUIClasses.sSortableAsc,n.oJUIClasses.sSortableDesc,n.oJUIClasses.sSortableNone].join(" ")); +i("th span."+n.oJUIClasses.sSortIcon,a.nTHead).remove();i("th",a.nTHead).each(function(){var e=i("div."+n.oJUIClasses.sSortJUIWrapper,this),h=e.contents();i(this).append(h);e.remove()})}else i("th",a.nTHead).removeClass([n.oStdClasses.sSortable,n.oStdClasses.sSortableAsc,n.oStdClasses.sSortableDesc,n.oStdClasses.sSortableNone].join(" "));a.nTableReinsertBefore?b.insertBefore(a.nTable,a.nTableReinsertBefore):b.appendChild(a.nTable);d=0;for(f=a.aoData.length;dt<"F"ip>'}if(e.oScroll.sX!==""||e.oScroll.sY!== +"")e.oScroll.iBarWidth=Ya();if(typeof g.iDisplayStart!="undefined"&&typeof e.iInitDisplayStart=="undefined"){e.iInitDisplayStart=g.iDisplayStart;e._iDisplayStart=g.iDisplayStart}if(typeof g.bStateSave!="undefined"){e.oFeatures.bStateSave=g.bStateSave;Xa(e,g);e.aoDrawCallback.push({fn:va,sName:"state_save"})}if(typeof g.iDeferLoading!="undefined"){e.bDeferLoading=true;e._iRecordsTotal=g.iDeferLoading;e._iRecordsDisplay=g.iDeferLoading}if(typeof g.aaData!="undefined")j=true;if(typeof g!="undefined"&& +typeof g.aoData!="undefined")g.aoColumns=g.aoData;if(typeof g.oLanguage!="undefined")if(typeof g.oLanguage.sUrl!="undefined"&&g.oLanguage.sUrl!==""){e.oLanguage.sUrl=g.oLanguage.sUrl;i.getJSON(e.oLanguage.sUrl,null,function(u){y(e,u,true)});h=true}else y(e,g.oLanguage,false)}else g={};if(typeof g.asStripClasses=="undefined"&&typeof g.asStripeClasses=="undefined"){e.asStripeClasses.push(e.oClasses.sStripeOdd);e.asStripeClasses.push(e.oClasses.sStripeEven)}c=false;d=i(this).children("tbody").children("tr"); +a=0;for(b=e.asStripeClasses.length;a=0;a--){var m= +g.aoColumnDefs[a].aTargets;i.isArray(m)||J(e,1,"aTargets must be an array of targets, not a "+typeof m);c=0;for(d=m.length;c=0){for(;e.aoColumns.length<=m[c];)F(e);x(e,m[c],g.aoColumnDefs[a])}else if(typeof m[c]=="number"&&m[c]<0)x(e,e.aoColumns.length+m[c],g.aoColumnDefs[a]);else if(typeof m[c]=="string"){b=0;for(f=e.aoColumns.length;b=e.aoColumns.length)e.aaSorting[a][0]=0;k=e.aoColumns[e.aaSorting[a][0]];if(typeof e.aaSorting[a][2]=="undefined")e.aaSorting[a][2]=0;if(typeof g.aaSorting=="undefined"&&typeof e.saved_aaSorting=="undefined")e.aaSorting[a][1]=k.asSorting[0];c=0;for(d=k.asSorting.length;c0){e.nTFoot=a[0];Y(e.aoFooter,e.nTFoot)}if(j)for(a=0;a)[^>]*$|\{\{\! /,b={},f={},e,p={key:0,data:{}},i=0,c=0,l=[];function g(g,d,h,e){var c={data:e||(e===0||e===false)?e:d?d.data:{},_wrap:d?d._wrap:null,tmpl:null,parent:d||null,nodes:[],calls:u,nest:w,wrap:x,html:v,update:t};g&&a.extend(c,g,{nodes:[],parent:d});if(h){c.tmpl=h;c._ctnt=c._ctnt||c.tmpl(a,c);c.key=++i;(l.length?f:b)[i]=c}return c}a.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(f,d){a.fn[f]=function(n){var g=[],i=a(n),k,h,m,l,j=this.length===1&&this[0].parentNode;e=b||{};if(j&&j.nodeType===11&&j.childNodes.length===1&&i.length===1){i[d](this[0]);g=this}else{for(h=0,m=i.length;h0?this.clone(true):this).get();a(i[h])[d](k);g=g.concat(k)}c=0;g=this.pushStack(g,f,i.selector)}l=e;e=null;a.tmpl.complete(l);return g}});a.fn.extend({tmpl:function(d,c,b){return a.tmpl(this[0],d,c,b)},tmplItem:function(){return a.tmplItem(this[0])},template:function(b){return a.template(b,this[0])},domManip:function(d,m,k){if(d[0]&&a.isArray(d[0])){var g=a.makeArray(arguments),h=d[0],j=h.length,i=0,f;while(i").join(">").split('"').join(""").split("'").join("'")}});a.extend(a.tmpl,{tag:{tmpl:{_default:{$2:"null"},open:"if($notnull_1){__=__.concat($item.nest($1,$2));}"},wrap:{_default:{$2:"null"},open:"$item.calls(__,$1,$2);__=[];",close:"call=$item.calls();__=call._.concat($item.wrap(call,__));"},each:{_default:{$2:"$index, $value"},open:"if($notnull_1){$.each($1a,function($2){with(this){",close:"}});}"},"if":{open:"if(($notnull_1) && $1a){",close:"}"},"else":{_default:{$1:"true"},open:"}else if(($notnull_1) && $1a){"},html:{open:"if($notnull_1){__.push($1a);}"},"=":{_default:{$1:"$data"},open:"if($notnull_1){__.push($.encode($1a));}"},"!":{open:""}},complete:function(){b={}},afterManip:function(f,b,d){var e=b.nodeType===11?a.makeArray(b.childNodes):b.nodeType===1?[b]:[];d.call(f,b);m(e);c++}});function j(e,g,f){var b,c=f?a.map(f,function(a){return typeof a==="string"?e.key?a.replace(/(<\w+)(?=[\s>])(?![^>]*_tmplitem)([^>]*)/g,"$1 "+d+'="'+e.key+'" $2'):a:j(a,e,a._ctnt)}):e;if(g)return c;c=c.join("");c.replace(/^\s*([^<\s][^<]*)?(<[\w\W]+>)([^>]*[^>\s])?\s*$/,function(f,c,e,d){b=a(e).get();m(b);if(c)b=k(c).concat(b);if(d)b=b.concat(k(d))});return b?b:k(c)}function k(c){var b=document.createElement("div");b.innerHTML=c;return a.makeArray(b.childNodes)}function o(b){return new Function("jQuery","$item","var $=jQuery,call,__=[],$data=$item.data;with($data){__.push('"+a.trim(b).replace(/([\\'])/g,"\\$1").replace(/[\r\t\n]/g," ").replace(/\$\{([^\}]*)\}/g,"{{= $1}}").replace(/\{\{(\/?)(\w+|.)(?:\(((?:[^\}]|\}(?!\}))*?)?\))?(?:\s+(.*?)?)?(\(((?:[^\}]|\}(?!\}))*?)\))?\s*\}\}/g,function(m,l,k,g,b,c,d){var j=a.tmpl.tag[k],i,e,f;if(!j)throw"Unknown template tag: "+k;i=j._default||[];if(c&&!/\w$/.test(b)){b+=c;c=""}if(b){b=h(b);d=d?","+h(d)+")":c?")":"";e=c?b.indexOf(".")>-1?b+h(c):"("+b+").call($item"+d:b;f=c?e:"(typeof("+b+")==='function'?("+b+").call($item):("+b+"))"}else f=e=i.$1||"null";g=h(g);return"');"+j[l?"close":"open"].split("$notnull_1").join(b?"typeof("+b+")!=='undefined' && ("+b+")!=null":"true").split("$1a").join(f).split("$1").join(e).split("$2").join(g||i.$2||"")+"__.push('"})+"');}return __;")}function n(c,b){c._wrap=j(c,true,a.isArray(b)?b:[q.test(b)?b:a(b).html()]).join("")}function h(a){return a?a.replace(/\\'/g,"'").replace(/\\\\/g,"\\"):null}function s(b){var a=document.createElement("div");a.appendChild(b.cloneNode(true));return a.innerHTML}function m(o){var n="_"+c,k,j,l={},e,p,h;for(e=0,p=o.length;e=0;h--)m(j[h]);m(k)}function m(j){var p,h=j,k,e,m;if(m=j.getAttribute(d)){while(h.parentNode&&(h=h.parentNode).nodeType===1&&!(p=h.getAttribute(d)));if(p!==m){h=h.parentNode?h.nodeType===11?0:h.getAttribute(d)||0:0;if(!(e=b[m])){e=f[m];e=g(e,b[h]||f[h]);e.key=++i;b[i]=e}c&&o(m)}j.removeAttribute(d)}else if(c&&(e=a.data(j,"tmplItem"))){o(e.key);b[e.key]=e;h=a.data(j.parentNode,"tmplItem");h=h?h.key:0}if(e){k=e;while(k&&k.key!=h){k.nodes.push(j);k=k.parent}delete e._ctnt;delete e._wrap;a.data(j,"tmplItem",e)}function o(a){a=a+n;e=l[a]=l[a]||g(e,b[e.parent.key+n]||e.parent)}}}function u(a,d,c,b){if(!a)return l.pop();l.push({_:a,tmpl:d,item:this,data:c,options:b})}function w(d,c,b){return a.tmpl(a.template(d),c,b,this)}function x(b,d){var c=b.options||{};c.wrapped=d;return a.tmpl(a.template(b.tmpl),b.data,c,b.item)}function v(d,c){var b=this._wrap;return a.map(a(a.isArray(b)?b.join(""):b).filter(d||"*"),function(a){return c?a.innerText||a.textContent:a.outerHTML||s(a)})}function t(){var b=this.nodes;a.tmpl(null,null,null,this).insertBefore(b[0]);a(b).remove()}})(jQuery); \ No newline at end of file diff --git a/wp-content/plugins/wordfence/js/jquery.tools.min.js b/wp-content/plugins/wordfence/js/jquery.tools.min.js new file mode 100644 index 0000000..c626d96 --- /dev/null +++ b/wp-content/plugins/wordfence/js/jquery.tools.min.js @@ -0,0 +1,15 @@ +/*! + * jQuery Tools v1.2.6 - The missing UI library for the Web + * + * tooltip/tooltip.js + * tooltip/tooltip.dynamic.js + * tooltip/tooltip.slide.js + * + * NO COPYRIGHTS OR LICENSES. DO WHAT YOU LIKE. + * + * http://flowplayer.org/tools/ + * + */ +(function(a){a.tools=a.tools||{version:"v1.2.6"},a.tools.tooltip={conf:{effect:"toggle",fadeOutSpeed:"fast",predelay:0,delay:30,opacity:1,tip:0,fadeIE:!1,position:["top","center"],offset:[0,0],relative:!1,cancelDefault:!0,events:{def:"mouseenter,mouseleave",input:"focus,blur",widget:"focus mouseenter,blur mouseleave",tooltip:"mouseenter,mouseleave"},layout:"
",tipClass:"tooltip"},addEffect:function(a,c,d){b[a]=[c,d]}};var b={toggle:[function(a){var b=this.getConf(),c=this.getTip(),d=b.opacity;d<1&&c.css({opacity:d}),c.show(),a.call()},function(a){this.getTip().hide(),a.call()}],fade:[function(b){var c=this.getConf();!a.browser.msie||c.fadeIE?this.getTip().fadeTo(c.fadeInSpeed,c.opacity,b):(this.getTip().show(),b())},function(b){var c=this.getConf();!a.browser.msie||c.fadeIE?this.getTip().fadeOut(c.fadeOutSpeed,b):(this.getTip().hide(),b())}]};function c(b,c,d){var e=d.relative?b.position().top:b.offset().top,f=d.relative?b.position().left:b.offset().left,g=d.position[0];e-=c.outerHeight()-d.offset[0],f+=b.outerWidth()+d.offset[1],/iPad/i.test(navigator.userAgent)&&(e-=a(window).scrollTop());var h=c.outerHeight()+b.outerHeight();g=="center"&&(e+=h/2),g=="bottom"&&(e+=h),g=d.position[1];var i=c.outerWidth()+b.outerWidth();g=="center"&&(f-=i/2),g=="left"&&(f-=i);return{top:e,left:f}}function d(d,e){var f=this,g=d.add(f),h,i=0,j=0,k=d.attr("title"),l=d.attr("data-tooltip"),m=b[e.effect],n,o=d.is(":input"),p=o&&d.is(":checkbox, :radio, select, :button, :submit"),q=d.attr("type"),r=e.events[q]||e.events[o?p?"widget":"input":"def"];if(!m)throw"Nonexistent effect \""+e.effect+"\"";r=r.split(/,\s*/);if(r.length!=2)throw"Tooltip: bad events configuration for "+q;d.bind(r[0],function(a){clearTimeout(i),e.predelay?j=setTimeout(function(){f.show(a)},e.predelay):f.show(a)}).bind(r[1],function(a){clearTimeout(j),e.delay?i=setTimeout(function(){f.hide(a)},e.delay):f.hide(a)}),k&&e.cancelDefault&&(d.removeAttr("title"),d.data("title",k)),a.extend(f,{show:function(b){if(!h){l?h=a(l):e.tip?h=a(e.tip).eq(0):k?h=a(e.layout).addClass(e.tipClass).appendTo(document.body).hide().append(k):(h=d.next(),h.length||(h=d.parent().next()));if(!h.length)throw"Cannot find tooltip for "+d}if(f.isShown())return f;h.stop(!0,!0);var o=c(d,h,e);e.tip&&h.html(d.data("title")),b=a.Event(),b.type="onBeforeShow",g.trigger(b,[o]);if(b.isDefaultPrevented())return f;o=c(d,h,e),h.css({position:"absolute",top:o.top,left:o.left}),n=!0,m[0].call(f,function(){b.type="onShow",n="full",g.trigger(b)});var p=e.events.tooltip.split(/,\s*/);h.data("__set")||(h.unbind(p[0]).bind(p[0],function(){clearTimeout(i),clearTimeout(j)}),p[1]&&!d.is("input:not(:checkbox, :radio), textarea")&&h.unbind(p[1]).bind(p[1],function(a){a.relatedTarget!=d[0]&&d.trigger(r[1].split(" ")[0])}),e.tip||h.data("__set",!0));return f},hide:function(c){if(!h||!f.isShown())return f;c=a.Event(),c.type="onBeforeHide",g.trigger(c);if(!c.isDefaultPrevented()){n=!1,b[e.effect][1].call(f,function(){c.type="onHide",g.trigger(c)});return f}},isShown:function(a){return a?n=="full":n},getConf:function(){return e},getTip:function(){return h},getTrigger:function(){return d}}),a.each("onHide,onBeforeShow,onShow,onBeforeHide".split(","),function(b,c){a.isFunction(e[c])&&a(f).bind(c,e[c]),f[c]=function(b){b&&a(f).bind(c,b);return f}})}a.fn.tooltip=function(b){var c=this.data("tooltip");if(c)return c;b=a.extend(!0,{},a.tools.tooltip.conf,b),typeof b.position=="string"&&(b.position=b.position.split(/,?\s/)),this.each(function(){c=new d(a(this),b),a(this).data("tooltip",c)});return b.api?c:this}})(jQuery); +(function(a){var b=a.tools.tooltip;b.dynamic={conf:{classNames:"top right bottom left"}};function c(b){var c=a(window),d=c.width()+c.scrollLeft(),e=c.height()+c.scrollTop();return[b.offset().top<=c.scrollTop(),d<=b.offset().left+b.width(),e<=b.offset().top+b.height(),c.scrollLeft()>=b.offset().left]}function d(a){var b=a.length;while(b--)if(a[b])return!1;return!0}a.fn.dynamic=function(e){typeof e=="number"&&(e={speed:e}),e=a.extend({},b.dynamic.conf,e);var f=a.extend(!0,{},e),g=e.classNames.split(/\s/),h;this.each(function(){var b=a(this).tooltip().onBeforeShow(function(b,e){var i=this.getTip(),j=this.getConf();h||(h=[j.position[0],j.position[1],j.offset[0],j.offset[1],a.extend({},j)]),a.extend(j,h[4]),j.position=[h[0],h[1]],j.offset=[h[2],h[3]],i.css({visibility:"hidden",position:"absolute",top:e.top,left:e.left}).show();var k=a.extend(!0,{},f),l=c(i);if(!d(l)){l[2]&&(a.extend(j,k.top),j.position[0]="top",i.addClass(g[0])),l[3]&&(a.extend(j,k.right),j.position[1]="right",i.addClass(g[1])),l[0]&&(a.extend(j,k.bottom),j.position[0]="bottom",i.addClass(g[2])),l[1]&&(a.extend(j,k.left),j.position[1]="left",i.addClass(g[3]));if(l[0]||l[2])j.offset[0]*=-1;if(l[1]||l[3])j.offset[1]*=-1}i.css({visibility:"visible"}).hide()});b.onBeforeShow(function(){var a=this.getConf(),b=this.getTip();setTimeout(function(){a.position=[h[0],h[1]],a.offset=[h[2],h[3]]},0)}),b.onHide(function(){var a=this.getTip();a.removeClass(e.classNames)}),ret=b});return e.api?ret:this}})(jQuery); +(function(a){var b=a.tools.tooltip;a.extend(b.conf,{direction:"up",bounce:!1,slideOffset:10,slideInSpeed:200,slideOutSpeed:200,slideFade:!a.browser.msie});var c={up:["-","top"],down:["+","top"],left:["-","left"],right:["+","left"]};b.addEffect("slide",function(a){var b=this.getConf(),d=this.getTip(),e=b.slideFade?{opacity:b.opacity}:{},f=c[b.direction]||c.up;e[f[1]]=f[0]+"="+b.slideOffset,b.slideFade&&d.css({opacity:0}),d.show().animate(e,b.slideInSpeed,a)},function(b){var d=this.getConf(),e=d.slideOffset,f=d.slideFade?{opacity:0}:{},g=c[d.direction]||c.up,h=""+g[0];d.bounce&&(h=h=="+"?"-":"+"),f[g[1]]=h+"="+e,this.getTip().animate(f,d.slideOutSpeed,function(){a(this).hide(),b.call()})})})(jQuery); diff --git a/wp-content/plugins/wordfence/js/perf.js b/wp-content/plugins/wordfence/js/perf.js new file mode 100644 index 0000000..daa963a --- /dev/null +++ b/wp-content/plugins/wordfence/js/perf.js @@ -0,0 +1,36 @@ +jQuery(document).ready(function(){ + if(typeof(performance) !== 'undefined'){ + var timing = { + fetchStart: false, + domainLookupStart: false, + domainLookupEnd: false, + connectStart: false, + connectEnd: false, + requestStart: false, + responseStart: false, + responseEnd: false + }; + for(var k in timing){ + timing[k] = performance.timing[k]; + } + timing['domReady'] = new Date().getTime(); + jQuery(window).load(function(){ + timing['URL'] = document.URL; + timing['loaded'] = new Date().getTime(); + var fields = ['fetchStart', 'domainLookupStart', 'domainLookupEnd', 'connectStart', 'connectEnd', 'requestStart', 'responseStart', 'responseEnd', 'domReady', 'loaded']; + for(var i = fields.length - 1; i >= 1; i--){ + timing[fields[i]] -= timing[fields[i - 1]]; + } + timing['fetchStart'] = 0; + timing['action'] = 'wordfence_perfLog'; + jQuery.ajax({ + type: 'POST', + url: wordfenceAjaxURL, + dataType: 'json', + data: timing, + success: function(json){}, + error: function(){} + }); + }); + } +}); diff --git a/wp-content/plugins/wordfence/js/tourTip.js b/wp-content/plugins/wordfence/js/tourTip.js new file mode 100644 index 0000000..212d7f6 --- /dev/null +++ b/wp-content/plugins/wordfence/js/tourTip.js @@ -0,0 +1,162 @@ +if(! window['wordfenceExt']){ +window['wordfenceExt'] = { + nonce: false, + loadingCount: 0, + init: function(){ + this.nonce = WordfenceAdminVars.firstNonce; + }, + showLoading: function(){ + this.loadingCount++; + if(this.loadingCount == 1){ + jQuery('
Wordfence is working...
').appendTo('body'); + } + }, + removeLoading: function(){ + this.loadingCount--; + if(this.loadingCount == 0){ + jQuery('#wordfenceWorking').remove(); + } + }, + autoUpdateChoice: function(choice){ + this.ajax('wordfence_autoUpdateChoice', { + choice: choice + }, + function(res){ jQuery('#wordfenceAutoUpdateChoice').fadeOut(); }, + function(){ jQuery('#wordfenceAutoUpdateChoice').fadeOut(); } + ); + }, + removeFromCache: function(postID){ + this.ajax('wordfence_removeFromCache', { + id: postID + }, + function(res){ if(res.ok){ alert("Item removed from the Wordfence cache."); } }, + function(){} + ); + }, + ajax: function(action, data, cb, cbErr, noLoading){ + if(typeof(data) == 'string'){ + if(data.length > 0){ + data += '&'; + } + data += 'action=' + action + '&nonce=' + this.nonce; + } else if(typeof(data) == 'object'){ + data['action'] = action; + data['nonce'] = this.nonce; + } + if(! cbErr){ + cbErr = function(){}; + } + var self = this; + if(! noLoading){ + this.showLoading(); + } + jQuery.ajax({ + type: 'POST', + url: WordfenceAdminVars.ajaxURL, + dataType: "json", + data: data, + success: function(json){ + if(! noLoading){ + self.removeLoading(); + } + if(json && json.nonce){ + self.nonce = json.nonce; + } + cb(json); + }, + error: function(){ + if(! noLoading){ + self.removeLoading(); + } + cbErr(); + } + }); + } +}; +} +jQuery(function(){ + wordfenceExt.init(); +}); + +if(! window['wordfenceTour']){ +window['wordfenceTour'] = { + wfClearEmailField: function(){ + if(jQuery('#wfListEmail').val() == "Enter your email"){ + jQuery('#wfListEmail').val(''); + } + }, + processEmailClick: function(evt){ + var email = jQuery('#wfListEmail').val(); + if(! /[^\@]+\@[^\.]+\.[^\.]+/.test(email)){ + alert("Please enter a valid email address."); + return false; + } + jQuery.ajax({ + type: 'POST', + url: WordfenceAdminVars.ajaxURL, + dataType: "json", + data: { + nonce: WordfenceAdminVars.firstNonce, + email: email, + action: 'wordfence_updateAlertEmail' + }, + success: function(json){ + if(json.ok){ + jQuery('#wordfenceEmailDiv').html('
Your admin alert email address has been set to ' + jQuery('
').text(json.email).html() + '.
'); + } else if(json.err){ + alert(json.err); + } + }, + error: function(){ + } + }); + + if(jQuery('#wfJoinListCheck').is(':checked')){ + return true; + } else { + try { + if(evt.preventDefault) evt.preventDefault(); + evt.returnValue = false; + } catch(e){} + + return false; + } + } +}; +} + +jQuery(function(){ +if(WordfenceAdminVars.tourClosed != '1'){ + var formHTML = '
Also join our WordPress Security email list to receive WordPress Security Alerts and Wordfence news.
'; + var elem = '#toplevel_page_Wordfence'; + jQuery(elem).pointer({ + close: function(){}, + content: "

Congratulations!

You've just installed Wordfence! Start by entering the administrator email address where you would like to receive security alerts for your site:

" + + formHTML + + "

Then click \"Start Tour\" to get a quick introduction to how Wordfence protects your site, keeps you off Google's SEO black-list and can even help clean a hacked site.

", + pointerWidth: 300, + position: { edge: 'bottom', align: 'left' }, + buttons: function(event, t){ + buttonElem = jQuery('
Close'); + buttonElem.bind('click.pointer', function(){ t.element.pointer('close'); + var ajaxData = { + action: 'wordfence_tourClosed', + nonce: WordfenceAdminVars.firstNonce + }; + jQuery.ajax({ + type: 'POST', + url: WordfenceAdminVars.ajaxURL, + dataType: "json", + data: ajaxData, + success: function(json){}, + error: function(){} + }); + }); + return buttonElem; + } + }).pointer('open'); + jQuery('#pointer-close').after('Start Tour'); + jQuery('#pointer-primary').click(function(){ window.location.href = 'admin.php?page=Wordfence'; }); +} +}); + diff --git a/wp-content/plugins/wordfence/lib/.htaccess b/wp-content/plugins/wordfence/lib/.htaccess new file mode 100644 index 0000000..c9c4d1b --- /dev/null +++ b/wp-content/plugins/wordfence/lib/.htaccess @@ -0,0 +1,2 @@ +deny from all + diff --git a/wp-content/plugins/wordfence/lib/Diff.php b/wp-content/plugins/wordfence/lib/Diff.php new file mode 100644 index 0000000..9e0b1b4 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/Diff.php @@ -0,0 +1,176 @@ + + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * - Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * - Neither the name of the Chris Boulton nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * @package Diff + * @author Chris Boulton + * @copyright (c) 2009 Chris Boulton + * @license New BSD License http://www.opensource.org/licenses/bsd-license.php + * @version 1.1 + * @link http://github.com/chrisboulton/php-diff + */ + +class Diff +{ + /** + * @var array The "old" sequence to use as the basis for the comparison. + */ + private $a = null; + + /** + * @var array The "new" sequence to generate the changes for. + */ + private $b = null; + + /** + * @var array Array containing the generated opcodes for the differences between the two items. + */ + private $groupedCodes = null; + + /** + * @var array Associative array of the default options available for the diff class and their default value. + */ + private $defaultOptions = array( + 'context' => 3, + 'ignoreNewLines' => false, + 'ignoreWhitespace' => false, + 'ignoreCase' => false + ); + + /** + * @var array Array of the options that have been applied for generating the diff. + */ + private $options = array(); + + /** + * The constructor. + * + * @param array $a Array containing the lines of the first string to compare. + * @param array $b Array containing the lines for the second string to compare. + */ + public function __construct($a, $b, $options=array()) + { + $this->a = $a; + $this->b = $b; + + $this->options = array_merge($this->defaultOptions, $options); + } + + /** + * Render a diff using the supplied rendering class and return it. + * + * @param object $renderer An instance of the rendering object to use for generating the diff. + * @return mixed The generated diff. Exact return value depends on the rendered. + */ + public function render(Diff_Renderer_Abstract $renderer) + { + $renderer->diff = $this; + return $renderer->render(); + } + + /** + * Get a range of lines from $start to $end from the first comparison string + * and return them as an array. If no values are supplied, the entire string + * is returned. It's also possible to specify just one line to return only + * that line. + * + * @param int $start The starting number. + * @param int $end The ending number. If not supplied, only the item in $start will be returned. + * @return array Array of all of the lines between the specified range. + */ + public function getA($start=0, $end=null) + { + if($start == 0 && $end === null) { + return $this->a; + } + + if($end === null) { + $length = 1; + } + else { + $length = $end - $start; + } + + return array_slice($this->a, $start, $length); + + } + + /** + * Get a range of lines from $start to $end from the second comparison string + * and return them as an array. If no values are supplied, the entire string + * is returned. It's also possible to specify just one line to return only + * that line. + * + * @param int $start The starting number. + * @param int $end The ending number. If not supplied, only the item in $start will be returned. + * @return array Array of all of the lines between the specified range. + */ + public function getB($start=0, $end=null) + { + if($start == 0 && $end === null) { + return $this->b; + } + + if($end === null) { + $length = 1; + } + else { + $length = $end - $start; + } + + return array_slice($this->b, $start, $length); + } + + /** + * Generate a list of the compiled and grouped opcodes for the differences between the + * two strings. Generally called by the renderer, this class instantiates the sequence + * matcher and performs the actual diff generation and return an array of the opcodes + * for it. Once generated, the results are cached in the diff class instance. + * + * @return array Array of the grouped opcodes for the generated diff. + */ + public function getGroupedOpcodes() + { + if(!is_null($this->groupedCodes)) { + return $this->groupedCodes; + } + + require_once dirname(__FILE__).'/Diff/SequenceMatcher.php'; + $sequenceMatcher = new Diff_SequenceMatcher($this->a, $this->b, null, $this->options); + $this->groupedCodes = $sequenceMatcher->getGroupedOpcodes(); + return $this->groupedCodes; + } +} diff --git a/wp-content/plugins/wordfence/lib/Diff/Renderer/Abstract.php b/wp-content/plugins/wordfence/lib/Diff/Renderer/Abstract.php new file mode 100644 index 0000000..f63c3e7 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/Diff/Renderer/Abstract.php @@ -0,0 +1,82 @@ + + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * - Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * - Neither the name of the Chris Boulton nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * @package DiffLib + * @author Chris Boulton + * @copyright (c) 2009 Chris Boulton + * @license New BSD License http://www.opensource.org/licenses/bsd-license.php + * @version 1.1 + * @link http://github.com/chrisboulton/php-diff + */ + +abstract class Diff_Renderer_Abstract +{ + /** + * @var object Instance of the diff class that this renderer is generating the rendered diff for. + */ + public $diff; + + /** + * @var array Array of the default options that apply to this renderer. + */ + protected $defaultOptions = array(); + + /** + * @var array Array containing the user applied and merged default options for the renderer. + */ + protected $options = array(); + + /** + * The constructor. Instantiates the rendering engine and if options are passed, + * sets the options for the renderer. + * + * @param array $options Optionally, an array of the options for the renderer. + */ + public function __construct(array $options = array()) + { + $this->setOptions($options); + } + + /** + * Set the options of the renderer to those supplied in the passed in array. + * Options are merged with the default to ensure that there aren't any missing + * options. + * + * @param array $options Array of options to set. + */ + public function setOptions(array $options) + { + $this->options = array_merge($this->defaultOptions, $options); + } +} \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/Diff/Renderer/Html/Array.php b/wp-content/plugins/wordfence/lib/Diff/Renderer/Html/Array.php new file mode 100644 index 0000000..c4b80b6 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/Diff/Renderer/Html/Array.php @@ -0,0 +1,224 @@ + + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * - Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * - Neither the name of the Chris Boulton nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * @package DiffLib + * @author Chris Boulton + * @copyright (c) 2009 Chris Boulton + * @license New BSD License http://www.opensource.org/licenses/bsd-license.php + * @version 1.1 + * @link http://github.com/chrisboulton/php-diff + */ + +require_once dirname(__FILE__).'/../Abstract.php'; + +class Diff_Renderer_Html_Array extends Diff_Renderer_Abstract +{ + /** + * @var array Array of the default options that apply to this renderer. + */ + protected $defaultOptions = array( + 'tabSize' => 4 + ); + + /** + * Render and return an array structure suitable for generating HTML + * based differences. Generally called by subclasses that generate a + * HTML based diff and return an array of the changes to show in the diff. + * + * @return array An array of the generated chances, suitable for presentation in HTML. + */ + public function render() + { + // As we'll be modifying a & b to include our change markers, + // we need to get the contents and store them here. That way + // we're not going to destroy the original data + $a = $this->diff->getA(); + $b = $this->diff->getB(); + + $changes = array(); + $opCodes = $this->diff->getGroupedOpcodes(); + foreach($opCodes as $group) { + $blocks = array(); + $lastTag = null; + $lastBlock = 0; + foreach($group as $code) { + list($tag, $i1, $i2, $j1, $j2) = $code; + + if($tag == 'replace' && $i2 - $i1 == $j2 - $j1) { + for($i = 0; $i < ($i2 - $i1); ++$i) { + $fromLine = $a[$i1 + $i]; + $toLine = $b[$j1 + $i]; + + list($start, $end) = $this->getChangeExtent($fromLine, $toLine); + if($start != 0 || $end != 0) { + $last = $end + strlen($fromLine); + $fromLine = substr_replace($fromLine, "\0", $start, 0); + $fromLine = substr_replace($fromLine, "\1", $last + 1, 0); + $last = $end + strlen($toLine); + $toLine = substr_replace($toLine, "\0", $start, 0); + $toLine = substr_replace($toLine, "\1", $last + 1, 0); + $a[$i1 + $i] = $fromLine; + $b[$j1 + $i] = $toLine; + } + } + } + + if($tag != $lastTag) { + $blocks[] = array( + 'tag' => $tag, + 'base' => array( + 'offset' => $i1, + 'lines' => array() + ), + 'changed' => array( + 'offset' => $j1, + 'lines' => array() + ) + ); + $lastBlock = count($blocks)-1; + } + + $lastTag = $tag; + + if($tag == 'equal') { + $lines = array_slice($a, $i1, ($i2 - $i1)); + $blocks[$lastBlock]['base']['lines'] += $this->formatLines($lines); + $lines = array_slice($b, $j1, ($j2 - $j1)); + $blocks[$lastBlock]['changed']['lines'] += $this->formatLines($lines); + } + else { + if($tag == 'replace' || $tag == 'delete') { + $lines = array_slice($a, $i1, ($i2 - $i1)); + $lines = $this->formatLines($lines); + $lines = str_replace(array("\0", "\1"), array('', ''), $lines); + $blocks[$lastBlock]['base']['lines'] += $lines; + } + + if($tag == 'replace' || $tag == 'insert') { + $lines = array_slice($b, $j1, ($j2 - $j1)); + $lines = $this->formatLines($lines); + $lines = str_replace(array("\0", "\1"), array('', ''), $lines); + $blocks[$lastBlock]['changed']['lines'] += $lines; + } + } + } + $changes[] = $blocks; + } + return $changes; + } + + /** + * Given two strings, determine where the changes in the two strings + * begin, and where the changes in the two strings end. + * + * @param string $fromLine The first string. + * @param string $toLine The second string. + * @return array Array containing the starting position (0 by default) and the ending position (-1 by default) + */ + private function getChangeExtent($fromLine, $toLine) + { + $start = 0; + $limit = min(strlen($fromLine), strlen($toLine)); + while($start < $limit && $fromLine{$start} == $toLine{$start}) { + ++$start; + } + $end = -1; + $limit = $limit - $start; + while(-$end <= $limit && substr($fromLine, $end, 1) == substr($toLine, $end, 1)) { + --$end; + } + return array( + $start, + $end + 1 + ); + } + + /** + * Format a series of lines suitable for output in a HTML rendered diff. + * This involves replacing tab characters with spaces, making the HTML safe + * for output, ensuring that double spaces are replaced with   etc. + * + * @param array $lines Array of lines to format. + * @return array Array of the formatted lines. + */ + private function formatLines($lines) + { + $lines = array_map(array($this, 'ExpandTabs'), $lines); + $lines = array_map(array($this, 'HtmlSafe'), $lines); + foreach($lines as &$line) { + $line = preg_replace('# ( +)|^ #e', "\$this->fixSpaces('\\1')", $line); + } + return $lines; + } + + /** + * Replace a string containing spaces with a HTML representation using  . + * + * @param string $spaces The string of spaces. + * @return string The HTML representation of the string. + */ + function fixSpaces($spaces='') + { + $count = strlen($spaces); + if($count == 0) { + return ''; + } + + $div = floor($count / 2); + $mod = $count % 2; + return str_repeat('  ', $div).str_repeat(' ', $mod); + } + + /** + * Replace tabs in a single line with a number of spaces as defined by the tabSize option. + * + * @param string $line The containing tabs to convert. + * @return string The line with the tabs converted to spaces. + */ + private function expandTabs($line) + { + return str_replace("\t", str_repeat(' ', $this->options['tabSize']), $line); + } + + /** + * Make a string containing HTML safe for output on a page. + * + * @param string $string The string. + * @return string The string with the HTML characters replaced by entities. + */ + private function htmlSafe($string) + { + return @htmlspecialchars($string, ENT_NOQUOTES, 'UTF-8'); + } +} diff --git a/wp-content/plugins/wordfence/lib/Diff/Renderer/Html/SideBySide.php b/wp-content/plugins/wordfence/lib/Diff/Renderer/Html/SideBySide.php new file mode 100644 index 0000000..b78267a --- /dev/null +++ b/wp-content/plugins/wordfence/lib/Diff/Renderer/Html/SideBySide.php @@ -0,0 +1,163 @@ + + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * - Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * - Neither the name of the Chris Boulton nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * @package DiffLib + * @author Chris Boulton + * @copyright (c) 2009 Chris Boulton + * @license New BSD License http://www.opensource.org/licenses/bsd-license.php + * @version 1.1 + * @link http://github.com/chrisboulton/php-diff + */ + +require_once dirname(__FILE__).'/Array.php'; + +class Diff_Renderer_Html_SideBySide extends Diff_Renderer_Html_Array +{ + /** + * Render a and return diff with changes between the two sequences + * displayed side by side. + * + * @return string The generated side by side diff. + */ + public function render() + { + $changes = parent::render(); + + $html = ''; + if(empty($changes)) { + return $html; + } + + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + foreach($changes as $i => $blocks) { + if($i > 0) { + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + } + + foreach($blocks as $change) { + $html .= ''; + // Equal changes should be shown on both sides of the diff + if($change['tag'] == 'equal') { + foreach($change['base']['lines'] as $no => $line) { + $fromLine = $change['base']['offset'] + $no + 1; + $toLine = $change['changed']['offset'] + $no + 1; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + } + } + // Added lines only on the right side + else if($change['tag'] == 'insert') { + foreach($change['changed']['lines'] as $no => $line) { + $toLine = $change['changed']['offset'] + $no + 1; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + } + } + // Show deleted lines only on the left side + else if($change['tag'] == 'delete') { + foreach($change['base']['lines'] as $no => $line) { + $fromLine = $change['base']['offset'] + $no + 1; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + } + } + // Show modified lines on both sides + else if($change['tag'] == 'replace') { + if(count($change['base']['lines']) >= count($change['changed']['lines'])) { + foreach($change['base']['lines'] as $no => $line) { + $fromLine = $change['base']['offset'] + $no + 1; + $html .= ''; + $html .= ''; + $html .= ''; + if(!isset($change['changed']['lines'][$no])) { + $toLine = ' '; + $changedLine = ' '; + } + else { + $toLine = $change['base']['offset'] + $no + 1; + $changedLine = ''.$change['changed']['lines'][$no].''; + } + $html .= ''; + $html .= ''; + $html .= ''; + } + } + else { + foreach($change['changed']['lines'] as $no => $changedLine) { + if(!isset($change['base']['lines'][$no])) { + $fromLine = ' '; + $line = ' '; + } + else { + $fromLine = $change['base']['offset'] + $no + 1; + $line = ''.$change['base']['lines'][$no].''; + } + $html .= ''; + $html .= ''; + $html .= ''; + $toLine = $change['changed']['offset'] + $no + 1; + $html .= ''; + $html .= ''; + $html .= ''; + } + } + } + $html .= ''; + } + } + $html .= '
The Original Version of the fileThe Modified Version on your WordPress system
  
'.$fromLine.''.$line.' '.$toLine.''.$line.' 
  '.$toLine.''.$line.' 
'.$fromLine.''.$line.'   
'.$fromLine.''.$line.' '.$toLine.''.$changedLine.'
'.$fromLine.''.$line.' '.$toLine.''.$changedLine.'
'; + return $html; + } +} diff --git a/wp-content/plugins/wordfence/lib/Diff/SequenceMatcher.php b/wp-content/plugins/wordfence/lib/Diff/SequenceMatcher.php new file mode 100644 index 0000000..a55dd2f --- /dev/null +++ b/wp-content/plugins/wordfence/lib/Diff/SequenceMatcher.php @@ -0,0 +1,742 @@ + + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * - Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * - Neither the name of the Chris Boulton nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * @package Diff + * @author Chris Boulton + * @copyright (c) 2009 Chris Boulton + * @license New BSD License http://www.opensource.org/licenses/bsd-license.php + * @version 1.1 + * @link http://github.com/chrisboulton/php-diff + */ + +class Diff_SequenceMatcher +{ + /** + * @var string|array Either a string or an array containing a callback function to determine if a line is "junk" or not. + */ + private $junkCallback = null; + + /** + * @var array The first sequence to compare against. + */ + private $a = null; + + /** + * @var array The second sequence. + */ + private $b = null; + + /** + * @var array Array of characters that are considered junk from the second sequence. Characters are the array key. + */ + private $junkDict = array(); + + /** + * @var array Array of indices that do not contain junk elements. + */ + private $b2j = array(); + + private $options = array(); + + private $defaultOptions = array( + 'ignoreNewLines' => false, + 'ignoreWhitespace' => false, + 'ignoreCase' => false + ); + + /** + * The constructor. With the sequences being passed, they'll be set for the + * sequence matcher and it will perform a basic cleanup & calculate junk + * elements. + * + * @param string|array $a A string or array containing the lines to compare against. + * @param string|array $b A string or array containing the lines to compare. + * @param string|array $junkCallback Either an array or string that references a callback function (if there is one) to determine 'junk' characters. + */ + public function __construct($a, $b, $junkCallback=null, $options) + { + $this->a = null; + $this->b = null; + $this->junkCallback = $junkCallback; + $this->setOptions($options); + $this->setSequences($a, $b); + } + + public function setOptions($options) + { + $this->options = array_merge($this->defaultOptions, $options); + } + + /** + * Set the first and second sequences to use with the sequence matcher. + * + * @param string|array $a A string or array containing the lines to compare against. + * @param string|array $b A string or array containing the lines to compare. + */ + public function setSequences($a, $b) + { + $this->setSeq1($a); + $this->setSeq2($b); + } + + /** + * Set the first sequence ($a) and reset any internal caches to indicate that + * when calling the calculation methods, we need to recalculate them. + * + * @param string|array $a The sequence to set as the first sequence. + */ + public function setSeq1($a) + { + if(!is_array($a)) { + $a = str_split($a); + } + if($a == $this->a) { + return; + } + + $this->a= $a; + $this->matchingBlocks = null; + $this->opCodes = null; + } + + /** + * Set the second sequence ($b) and reset any internal caches to indicate that + * when calling the calculation methods, we need to recalculate them. + * + * @param string|array $b The sequence to set as the second sequence. + */ + public function setSeq2($b) + { + if(!is_array($b)) { + $b = str_split($b); + } + if($b == $this->b) { + return; + } + + $this->b = $b; + $this->matchingBlocks = null; + $this->opCodes = null; + $this->fullBCount = null; + $this->chainB(); + } + + /** + * Generate the internal arrays containing the list of junk and non-junk + * characters for the second ($b) sequence. + */ + private function chainB() + { + $length = count ($this->b); + $this->b2j = array(); + $popularDict = array(); + + for($i = 0; $i < $length; ++$i) { + $char = $this->b[$i]; + if(isset($this->b2j[$char])) { + if($length >= 200 && count($this->b2j[$char]) * 100 > $length) { + $popularDict[$char] = 1; + unset($this->b2j[$char]); + } + else { + $this->b2j[$char][] = $i; + } + } + else { + $this->b2j[$char] = array( + $i + ); + } + } + + // Remove leftovers + foreach(array_keys($popularDict) as $char) { + unset($this->b2j[$char]); + } + + $this->junkDict = array(); + if(is_callable($this->junkCallback)) { + foreach(array_keys($popularDict) as $char) { + if(call_user_func($this->junkCallback, $char)) { + $this->junkDict[$char] = 1; + unset($popularDict[$char]); + } + } + + foreach(array_keys($this->b2j) as $char) { + if(call_user_func($this->junkCallback, $char)) { + $this->junkDict[$char] = 1; + unset($this->b2j[$char]); + } + } + } + } + + /** + * Checks if a particular character is in the junk dictionary + * for the list of junk characters. + * + * @return boolean $b True if the character is considered junk. False if not. + */ + private function isBJunk($b) + { + if(isset($this->juncDict[$b])) { + return true; + } + + return false; + } + + /** + * Find the longest matching block in the two sequences, as defined by the + * lower and upper constraints for each sequence. (for the first sequence, + * $alo - $ahi and for the second sequence, $blo - $bhi) + * + * Essentially, of all of the maximal matching blocks, return the one that + * startest earliest in $a, and all of those maximal matching blocks that + * start earliest in $a, return the one that starts earliest in $b. + * + * If the junk callback is defined, do the above but with the restriction + * that the junk element appears in the block. Extend it as far as possible + * by matching only junk elements in both $a and $b. + * + * @param int $alo The lower constraint for the first sequence. + * @param int $ahi The upper constraint for the first sequence. + * @param int $blo The lower constraint for the second sequence. + * @param int $bhi The upper constraint for the second sequence. + * @return array Array containing the longest match that includes the starting position in $a, start in $b and the length/size. + */ + public function findLongestMatch($alo, $ahi, $blo, $bhi) + { + $a = $this->a; + $b = $this->b; + + $bestI = $alo; + $bestJ = $blo; + $bestSize = 0; + + $j2Len = array(); + $nothing = array(); + + for($i = $alo; $i < $ahi; ++$i) { + $newJ2Len = array(); + $jDict = $this->arrayGetDefault($this->b2j, $a[$i], $nothing); + foreach($jDict as $jKey => $j) { + if($j < $blo) { + continue; + } + else if($j >= $bhi) { + break; + } + + $k = $this->arrayGetDefault($j2Len, $j -1, 0) + 1; + $newJ2Len[$j] = $k; + if($k > $bestSize) { + $bestI = $i - $k + 1; + $bestJ = $j - $k + 1; + $bestSize = $k; + } + } + + $j2Len = $newJ2Len; + } + + while($bestI > $alo && $bestJ > $blo && !$this->isBJunk($b[$bestJ - 1]) && + !$this->linesAreDifferent($bestI - 1, $bestJ - 1)) { + --$bestI; + --$bestJ; + ++$bestSize; + } + + while($bestI + $bestSize < $ahi && ($bestJ + $bestSize) < $bhi && + !$this->isBJunk($b[$bestJ + $bestSize]) && !$this->linesAreDifferent($bestI + $bestSize, $bestJ + $bestSize)) { + ++$bestSize; + } + + while($bestI > $alo && $bestJ > $blo && $this->isBJunk($b[$bestJ - 1]) && + !$this->isLineDifferent($bestI - 1, $bestJ - 1)) { + --$bestI; + --$bestJ; + ++$bestSize; + } + + while($bestI + $bestSize < $ahi && $bestJ + $bestSize < $bhi && + $this->isBJunk($b[$bestJ + $bestSize]) && !$this->linesAreDifferent($bestI + $bestSize, $bestJ + $bestSize)) { + ++$bestSize; + } + + return array( + $bestI, + $bestJ, + $bestSize + ); + } + + /** + * Check if the two lines at the given indexes are different or not. + * + * @param int $aIndex Line number to check against in a. + * @param int $bIndex Line number to check against in b. + * @return boolean True if the lines are different and false if not. + */ + public function linesAreDifferent($aIndex, $bIndex) + { + $lineA = $this->a[$aIndex]; + $lineB = $this->b[$bIndex]; + + if($this->options['ignoreWhitespace']) { + $replace = array("\t", ' '); + $lineA = str_replace($replace, '', $lineA); + $lineB = str_replace($replace, '', $lineB); + } + + if($this->options['ignoreCase']) { + $lineA = strtolower($lineA); + $lineB = strtolower($lineB); + } + + if($lineA != $lineB) { + return true; + } + + return false; + } + + /** + * Return a nested set of arrays for all of the matching sub-sequences + * in the strings $a and $b. + * + * Each block contains the lower constraint of the block in $a, the lower + * constraint of the block in $b and finally the number of lines that the + * block continues for. + * + * @return array Nested array of the matching blocks, as described by the function. + */ + public function getMatchingBlocks() + { + if(!empty($this->matchingBlocks)) { + return $this->matchingBlocks; + } + + $aLength = count($this->a); + $bLength = count($this->b); + + $queue = array( + array( + 0, + $aLength, + 0, + $bLength + ) + ); + + $matchingBlocks = array(); + while(!empty($queue)) { + list($alo, $ahi, $blo, $bhi) = array_pop($queue); + $x = $this->findLongestMatch($alo, $ahi, $blo, $bhi); + list($i, $j, $k) = $x; + if($k) { + $matchingBlocks[] = $x; + if($alo < $i && $blo < $j) { + $queue[] = array( + $alo, + $i, + $blo, + $j + ); + } + + if($i + $k < $ahi && $j + $k < $bhi) { + $queue[] = array( + $i + $k, + $ahi, + $j + $k, + $bhi + ); + } + } + } + + usort($matchingBlocks, array($this, 'tupleSort')); + + $i1 = 0; + $j1 = 0; + $k1 = 0; + $nonAdjacent = array(); + foreach($matchingBlocks as $block) { + list($i2, $j2, $k2) = $block; + if($i1 + $k1 == $i2 && $j1 + $k1 == $j2) { + $k1 += $k2; + } + else { + if($k1) { + $nonAdjacent[] = array( + $i1, + $j1, + $k1 + ); + } + + $i1 = $i2; + $j1 = $j2; + $k1 = $k2; + } + } + + if($k1) { + $nonAdjacent[] = array( + $i1, + $j1, + $k1 + ); + } + + $nonAdjacent[] = array( + $aLength, + $bLength, + 0 + ); + + $this->matchingBlocks = $nonAdjacent; + return $this->matchingBlocks; + } + + /** + * Return a list of all of the opcodes for the differences between the + * two strings. + * + * The nested array returned contains an array describing the opcode + * which includes: + * 0 - The type of tag (as described below) for the opcode. + * 1 - The beginning line in the first sequence. + * 2 - The end line in the first sequence. + * 3 - The beginning line in the second sequence. + * 4 - The end line in the second sequence. + * + * The different types of tags include: + * replace - The string from $i1 to $i2 in $a should be replaced by + * the string in $b from $j1 to $j2. + * delete - The string in $a from $i1 to $j2 should be deleted. + * insert - The string in $b from $j1 to $j2 should be inserted at + * $i1 in $a. + * equal - The two strings with the specified ranges are equal. + * + * @return array Array of the opcodes describing the differences between the strings. + */ + public function getOpCodes() + { + if(!empty($this->opCodes)) { + return $this->opCodes; + } + + $i = 0; + $j = 0; + $this->opCodes = array(); + + $blocks = $this->getMatchingBlocks(); + foreach($blocks as $block) { + list($ai, $bj, $size) = $block; + $tag = ''; + if($i < $ai && $j < $bj) { + $tag = 'replace'; + } + else if($i < $ai) { + $tag = 'delete'; + } + else if($j < $bj) { + $tag = 'insert'; + } + + if($tag) { + $this->opCodes[] = array( + $tag, + $i, + $ai, + $j, + $bj + ); + } + + $i = $ai + $size; + $j = $bj + $size; + + if($size) { + $this->opCodes[] = array( + 'equal', + $ai, + $i, + $bj, + $j + ); + } + } + return $this->opCodes; + } + + /** + * Return a series of nested arrays containing different groups of generated + * opcodes for the differences between the strings with up to $context lines + * of surrounding content. + * + * Essentially what happens here is any big equal blocks of strings are stripped + * out, the smaller subsets of changes are then arranged in to their groups. + * This means that the sequence matcher and diffs do not need to include the full + * content of the different files but can still provide context as to where the + * changes are. + * + * @param int $context The number of lines of context to provide around the groups. + * @return array Nested array of all of the grouped opcodes. + */ + public function getGroupedOpcodes($context=3) + { + $opCodes = $this->getOpCodes(); + if(empty($opCodes)) { + $opCodes = array( + array( + 'equal', + 0, + 1, + 0, + 1 + ) + ); + } + + if($opCodes[0][0] == 'equal') { + $opCodes[0] = array( + $opCodes[0][0], + max($opCodes[0][1], $opCodes[0][2] - $context), + $opCodes[0][2], + max($opCodes[0][3], $opCodes[0][4] - $context), + $opCodes[0][4] + ); + } + + $lastItem = count($opCodes) - 1; + if($opCodes[$lastItem][0] == 'equal') { + list($tag, $i1, $i2, $j1, $j2) = $opCodes[$lastItem]; + $opCodes[$lastItem] = array( + $tag, + $i1, + min($i2, $i1 + $context), + $j1, + min($j2, $j1 + $context) + ); + } + + $maxRange = $context * 2; + $groups = array(); + $group = array(); + foreach($opCodes as $code) { + list($tag, $i1, $i2, $j1, $j2) = $code; + if($tag == 'equal' && $i2 - $i1 > $maxRange) { + $group[] = array( + $tag, + $i1, + min($i2, $i1 + $context), + $j1, + min($j2, $j1 + $context) + ); + $groups[] = $group; + $group = array(); + $i1 = max($i1, $i2 - $context); + $j1 = max($j1, $j2 - $context); + } + $group[] = array( + $tag, + $i1, + $i2, + $j1, + $j2 + ); + } + + if(!empty($group) && !(count($group) == 1 && $group[0][0] == 'equal')) { + $groups[] = $group; + } + + return $groups; + } + + /** + * Return a measure of the similarity between the two sequences. + * This will be a float value between 0 and 1. + * + * Out of all of the ratio calculation functions, this is the most + * expensive to call if getMatchingBlocks or getOpCodes is yet to be + * called. The other calculation methods (quickRatio and realquickRatio) + * can be used to perform quicker calculations but may be less accurate. + * + * The ratio is calculated as (2 * number of matches) / total number of + * elements in both sequences. + * + * @return float The calculated ratio. + */ + public function Ratio() + { + $matches = array_reduce($this->getMatchingBlocks(), array($this, 'ratioReduce'), 0); + return $this->calculateRatio($matches, count ($this->a) + count ($this->b)); + } + + /** + * Helper function to calculate the number of matches for Ratio(). + * + * @param int $sum The running total for the number of matches. + * @param array $triple Array containing the matching block triple to add to the running total. + * @return int The new running total for the number of matches. + */ + private function ratioReduce($sum, $triple) + { + return $sum + ($triple[count($triple) - 1]); + } + + /** + * Quickly return an upper bound ratio for the similarity of the strings. + * This is quicker to compute than Ratio(). + * + * @return float The calculated ratio. + */ + private function quickRatio() + { + if($this->fullBCount === null) { + $this->fullBCount = array(); + $bLength = count ($b); + for($i = 0; $i < $bLength; ++$i) { + $char = $this->b[$i]; + $this->fullBCount[$char] = $this->arrayGetDefault($this->fullBCount, $char, 0) + 1; + } + } + + $avail = array(); + $matches = 0; + $aLength = count ($this->a); + for($i = 0; $i < $aLength; ++$i) { + $char = $this->a[$i]; + if(isset($avail[$char])) { + $numb = $avail[$char]; + } + else { + $numb = $this->arrayGetDefault($this->fullBCount, $char, 0); + } + $avail[$char] = $numb - 1; + if($numb > 0) { + ++$matches; + } + } + + $this->calculateRatio($matches, count ($this->a) + count ($this->b)); + } + + /** + * Return an upper bound ratio really quickly for the similarity of the strings. + * This is quicker to compute than Ratio() and quickRatio(). + * + * @return float The calculated ratio. + */ + private function realquickRatio() + { + $aLength = count ($this->a); + $bLength = count ($this->b); + + return $this->calculateRatio(min($aLength, $bLength), $aLength + $bLength); + } + + /** + * Helper function for calculating the ratio to measure similarity for the strings. + * The ratio is defined as being 2 * (number of matches / total length) + * + * @param int $matches The number of matches in the two strings. + * @param int $length The length of the two strings. + * @return float The calculated ratio. + */ + private function calculateRatio($matches, $length=0) + { + if($length) { + return 2 * ($matches / $length); + } + else { + return 1; + } + } + + /** + * Helper function that provides the ability to return the value for a key + * in an array of it exists, or if it doesn't then return a default value. + * Essentially cleaner than doing a series of if(isset()) {} else {} calls. + * + * @param array $array The array to search. + * @param string $key The key to check that exists. + * @param mixed $default The value to return as the default value if the key doesn't exist. + * @return mixed The value from the array if the key exists or otherwise the default. + */ + private function arrayGetDefault($array, $key, $default) + { + if(isset($array[$key])) { + return $array[$key]; + } + else { + return $default; + } + } + + /** + * Sort an array by the nested arrays it contains. Helper function for getMatchingBlocks + * + * @param array $a First array to compare. + * @param array $b Second array to compare. + * @return int -1, 0 or 1, as expected by the usort function. + */ + private function tupleSort($a, $b) + { + $max = max(count($a), count($b)); + for($i = 0; $i < $max; ++$i) { + if($a[$i] < $b[$i]) { + return -1; + } + else if($a[$i] > $b[$i]) { + return 1; + } + } + + if(count($a) == $count($b)) { + return 0; + } + else if(count($a) < count($b)) { + return -1; + } + else { + return 1; + } + } +} diff --git a/wp-content/plugins/wordfence/lib/GeoIP.dat b/wp-content/plugins/wordfence/lib/GeoIP.dat new file mode 100644 index 0000000000000000000000000000000000000000..0355839d61e36c8816ad7ce330a71690178172cd GIT binary patch literal 719284 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 NF*C+Yzh=zn{{u+bH6;K5 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/wordfence/lib/IPTraf.php b/wp-content/plugins/wordfence/lib/IPTraf.php new file mode 100644 index 0000000..df8734a --- /dev/null +++ b/wp-content/plugins/wordfence/lib/IPTraf.php @@ -0,0 +1,32 @@ + + + + + + +

Wordfence: All recent hits for IP address

+ + $v){ ?> + +Secs since last hit:'; } ?> + + + + + + + + + + + + + +
Time: ago -- -- in Unixtime
' . $v['timeSinceLastHit'] . '
URL:
Type:Page not found'; } ?>
Referrer:
Full Browser ID:
User:
Location:<?php echo $v['loc']['countryName']; ?> + + +

+ +

ggU*PxnOC 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/really-simple-captcha/gentium/GenBkBasI.ttf b/wp-content/plugins/really-simple-captcha/gentium/GenBkBasI.ttf new file mode 100644 index 0000000000000000000000000000000000000000..c62506b17cebcddd756b9d34b6aed37a372a196d GIT binary patch literal 266156 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%0Ao9y;Vdb(YnpyvJLw^hq|m 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 D;obZB literal 0 HcmV?d00001 diff --git a/wp-content/plugins/really-simple-captcha/gentium/GenBkBasR.ttf b/wp-content/plugins/really-simple-captcha/gentium/GenBkBasR.ttf new file mode 100644 index 0000000000000000000000000000000000000000..9c76a38180a114e272c5c3cb618567987e1f25c1 GIT binary patch literal 272460 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 a&u_nm$iMcjo7;U>=)^yEtNNYtzx)evW8Yc; literal 0 HcmV?d00001 diff --git a/wp-content/plugins/really-simple-captcha/gentium/OFL-FAQ.txt b/wp-content/plugins/really-simple-captcha/gentium/OFL-FAQ.txt new file mode 100644 index 0000000..cc9e6c2 --- /dev/null +++ b/wp-content/plugins/really-simple-captcha/gentium/OFL-FAQ.txt @@ -0,0 +1,216 @@ +OFL FAQ - Frequently Asked Questions about the SIL Open Font License (OFL) +Version 1.1 - 1 February 2007 +(See http://scripts.sil.org/OFL for updates) + + +1 ABOUT USING AND DISTRIBUTING FONTS LICENSED UNDER THE OFL + +1.1 Can I use the fonts in any publication, even embedded in the file? +Yes. You may use them like most other fonts, but unlike some fonts you may include an embedded subset of the fonts in your document. Such use does not require you to include this license or other files (listed in OFL condition 2), nor does it require any type of acknowledgement within the publication. Some mention of the font name within the publication information (such as in a colophon) is usually appreciated. If you wish to include the complete font as a separate file, you should distribute the full font package, including all existing acknowledgements, and comply with the OFL conditions. Of course, referencing or embedding an OFL font in any document does not change the license of the document itself. The requirement for fonts to remain under the OFL does not apply to any document created using the fonts and their derivatives. Similarly, creating any kind of graphic using a font under OFL does not make the resulting artwork subject to the OFL. + +1.2 Can I make web pages using these fonts? +Yes! Go ahead! Using CSS (Cascading Style Sheets) is recommended. + +1.3 Can I make the fonts available to others from my web site? +Yes, as long as you meet the conditions of the license (do not sell by itself, include the necessary files, rename Modified Versions, do not abuse the Author(s)' name(s) and do not sublicense). + +1.4 Can the fonts be included with Free/Libre and Open Source Software collections such as GNU/Linux and BSD distributions? +Yes! Fonts licensed under the OFL can be freely agreggated with software under FLOSS (Free/Libre and Open Source Software) licenses. Since fonts are much more useful aggregated to than merged with existing software, possible incompatibility with existing software licenses is not a problem. You can also repackage the fonts and the accompanying components in a .rpm or .deb package and include them in distro CD/DVDs and online repositories. + +1.5 I want to distribute the fonts with my program. Does this mean my program also has to be free and open source software? +No. Only the portions based on the font software are required to be released under the OFL. The intent of the license is to allow aggregation or bundling with software under restricted licensing as well. + +1.6 Can I include the fonts on a CD of freeware or commercial fonts? +Yes, as long some other font or software is also on the disk, so the OFL font is not sold by itself. + +1.7 Can I sell a software package that includes these fonts? +Yes, you can do this with both the Original Version and a Modified Version. Examples of bundling made possible by the OFL would include: word processors, design and publishing applications, training and educational software, edutainment software, etc. + +1.8 Why won't the OFL let me sell the fonts alone? +The intent is to keep people from making money by simply redistributing the fonts. The only people who ought to profit directly from the fonts should be the original authors, and those authors have kindly given up potential direct income to distribute their fonts under the OFL. Please honor and respect their contribution! + +1.9 I've come across a font released under the OFL. How can I easily get more information about the Original Version? How can I know where it stands compared to the Original Version or other Modified Versions? +Consult the copyright statement in the license for ways to contact the original authors. Consult the FONTLOG for information on how the font differs from the Original Version, and get in touch with the various contributors via the information in the acknowledgment section. Please consider using the Original Versions of the fonts whenever possible. + +1.10 What do you mean in condition 4? Can you provide examples of abusive promotion / endorsement / advertisement vs. normal acknowledgement? +The intent is that the goodwill and reputation of the author(s) should not be used in a way that makes it sound like the original author(s) endorse or approve of a specific Modified Version or software bundle. For example, it would not be right to advertise a word processor by naming the author(s) in a listing of software features, or to promote a Modified Version on a web site by saying "designed by ...". However, it would be appropriate to acknowledge the author(s) if your software package has a list of people who deserve thanks. We realize that this can seem to be a gray area, but the standard used to judge an acknowledgement is that if the acknowledgement benefits the author(s) it is allowed, but if it primarily benefits other parties, or could reflect poorly on the author(s), then it is not. + + +2 ABOUT MODIFYING OFL LICENSED FONTS + +2.1 Can I change the fonts? Are there any limitations to what things I can and cannot change? +You are allowed to change anything, as long as such changes do not violate the terms of the license. In other words, you are not allowed to remove the copyright statement(s) from the font, but you could add additional information into it that covers your contribution. + +2.2 I have a font that needs a few extra glyphs - can I take them from an OFL licensed font and copy them into mine? +Yes, but if you distribute that font to others it must be under the OFL, and include the information mentioned in condition 2 of the license. + +2.3 Can I charge people for my additional work? In other words, if I add a bunch of special glyphs and/or OpenType/Graphite code, can I sell the enhanced font? +Not by itself. Derivative fonts must be released under the OFL and cannot be sold by themselves. It is permitted, however, to include them in a larger software package (such as text editors, office suites or operating systems), even if the larger package is sold. In that case, you are strongly encouraged, but not required, to also make that derived font easily and freely available outside of the larger package. + +2.4 Can I pay someone to enhance the fonts for my use and distribution? +Yes. This is a good way to fund the further development of the fonts. Keep in mind, however, that if the font is distributed to others it must be under the OFL. You won't be able to recover your investment by exclusively selling the font, but you will be making a valuable contribution to the community. Please remember how you have benefitted from the contributions of others. + +2.5 I need to make substantial revisions to the font to make it work with my program. It will be a lot of work, and a big investment, and I want to be sure that it can only be distributed with my program. Can I restrict its use? +No. If you redistribute a Modified Version of the font it must be under the OFL. You may not restrict it in any way. This is intended to ensure that all released improvements to the fonts become available to everyone. But you will likely get an edge over competitors by being the first to distribute a bundle with the enhancements. Again, please remember how you have benefitted from the contributions of others. + +2.6 Do I have to make any derivative fonts (including source files, build scripts, documentation, etc.) publicly available? +No, but please do share your improvements with others. You may find that you receive more than what you gave in return. + +2.7 Why can't I use the Reserved Font Name(s) in my derivative font names? I'd like people to know where the design came from. +The best way to acknowledge the source of the design is to thank the original authors and any other contributors in the files that are distributed with your revised font (although no acknowledgement is required). The FONTLOG is a natural place to do this. Reserved Font Name(s) ensure that the only fonts that have the original names are the unmodified Original Versions. This allows designers to maintain artistic integrity while allowing collaboration to happen. It eliminates potential confusion and name conflicts. When choosing a name be creative and avoid names that reuse almost all the same letters in the same order or sound like the original. Keep in mind that the Copyright Holder(s) can allow a specific trusted partner to use Reserved Font Name(s) through a separate written agreement. + +2.8 What do you mean by "primary name as presented to the user"? Are you are referring to the font menu name? +Yes, the requirement to change the visible name used to differentiate the font from others applies to the font menu name and other mechanisms to specify a font in a document. It would be fine, for example, to keep a text reference to the original fonts in the description field, in your modified source file or in documentation provided alongside your derivative as long as no one could be confused that your modified source is the original. But you cannot use the Reserved Font Names in any way to identify the font to the user (unless the Copyright Holder(s) allow(s) it through a separate agreement, see section 2.7). Users who install derivatives ("Modified Versions") on their systems should not see any of the original names ("Reserved Font Names") in their font menus, for example. Again, this is to ensure that users are not confused and do not mistake a font for another and so expect features only another derivative or the Original Version can actually offer. Ultimately, creating name conflicts will cause many problems for the users as well as for the designer of both the Original and Modified versions, so please think ahead and find a good name for your own derivative. Font substitution systems like fontconfig, or application-level font fallback configuration within OpenOffice.org or Scribus, will also get very confused if the name of the font they are configured to substitute to actually refers to another physical font on the user's hard drive. It will help everyone if Original Versions and Modified Versions can easily be distinguished from one another and from other derivatives. The substitution mechanism itself is outside the scope of the license. Users can always manually change a font reference in a document or set up some kind of substitution at a higher level but at the lower level the fonts themselves have to respect the Reserved Font Name(s) requirement to prevent ambiguity. If a substitution is currently active the user should be aware of it. + +2.9 Am I not allowed to use any part of the Reserved Font Names? +You may not use the words of the font names, but you would be allowed to use parts of words, as long as you do not use any word from the Reserved Font Names entirely. We do not recommend using parts of words because of potential confusion, but it is allowed. For example, if "Foobar" was a Reserved Font Name, you would be allowed to use "Foo" or "bar", although we would not recommend it. Such an unfortunate choice would confuse the users of your fonts as well as make it harder for other designers to contribute. + +2.10 So what should I, as an author, identify as Reserved Font Names? +Original authors are encouraged to name their fonts using clear, distinct names, and only declare the unique parts of the name as Reserved Font Names. For example, the author of a font called "Foobar Sans" would declare "Foobar" as a Reserved Font Name, but not "Sans", as that is a common typographical term, and may be a useful word to use in a derivative font name. Reserved Font Names should also be single words. A font called "Flowing River" should have Reserved Font Names "Flowing" and "River", not "Flowing River". + +2.11 Do I, as an author, have to identify and Reserved Font Names? +No, but we strongly encourage you to do so. This is to avoid confusion between your work and Modified versions. You may, however, give certain trusted parties the right to use any of your Reserved Font Names through separate written agreements. For example, even if "Foobar" is a RFN, you could write up an agreement to give company "XYZ" the right to distribute a modified version with a name that includes "Foobar". This allows for freedom without confusion. + +2.12 Are any names (such as the main font name) reserved by default? +No. That is a change to the license as of version 1.1. If you want any names to be Reserved Font Names, they must be specified after the copyright statement. + +2.13 What is this FONTLOG thing exactly? +It has three purposes: 1) to provide basic information on the font to users and other developers, 2) to document changes that have been made to the font or accompanying files, either by the original authors or others, and 3) to provide a place to acknowledge the authors and other contributors. Please use it! See below for details on how changes should be noted. + +2.14 Am I required to update the FONTLOG? +No, but users, designers and other developers might get very frustrated at you if you don't! People need to know how derivative fonts differ from the originals, and how to take advantage of the changes, or build on them. + + +3 ABOUT THE FONTLOG + +The FONTLOG can take a variety of formats, but should include these four sections: + +3.1 FONTLOG for +This file provides detailed information on the font software. This information should be distributed along with the fonts and any derivative works. + +3.2 Basic Font Information +(Here is where you would describe the purpose and brief specifications for the font project, and where users can find more detailed documentation. It can also include references to how changes can be contributed back to the Original Version. You may also wish to include a short guide to the design, or a reference to such a document.) + +3.3 ChangeLog +(This should list both major and minor changes, most recent first. Here are some examples:) + +1 Feb 2005 (Jane Doe) Version 1.1 +- Improved build script performance and verbosity +- Extended the smart code documentation +- Corrected minor typos in the documentation +- Fixed position of combining inverted breve below (U+032F) +- Added OpenType/Graphite smart code for Armenian +- Added Armenian glyphs (U+0531 -> U+0587) +- Released as "" + +1 Jan 2005 (Joe Smith) Version 1.0 +- Initial release of font "" + +3.4 Acknowledgements +(Here is where contributors can be acknowledged. + +If you make modifications be sure to add your name (N), email (E), web-address (W) and description (D). This list is sorted by last name in alphabetical order.) + +N: Jane Doe +E: jane@university.edu +W: http://art.university.edu/projects/fonts +D: Contributor - Armenian glyphs and code + +N: Fred Foobar +E: fred@foobar.org +W: http://foobar.org +D: Contributor - misc Graphite fixes + +N: Pat Johnson +E: pat@fontstudio.org +W: http://pat.fontstudio.org +D: Designer - Greek & Cyrillic glyphs based on Roman design + +N: Tom Parker +E: tom@company.com +W: http://www.company.com/tom/projects/fonts +D: Engineer - original smart font code + +N: Joe Smith +E: joe@fontstudio.org +W: http://joe.fontstudio.org +D: Designer - original Roman glyphs + +(Original authors can also include information here about their organization.) + + +4 ABOUT MAKING CONTRIBUTIONS + +4.1 Why should I contribute my changes back to the original authors? +It would benefit many people if you contributed back to what you've received. Providing your contributions and improvements to the fonts and other components (data files, source code, build scripts, documentation, etc.) could be a tremendous help and would encourage others to contribute as well and 'give back', which means you will have an opportunity to benefit from other people's contributions as well. Sometimes maintaining your own separate version takes more effort than merging back with the original. Be aware that any contributions, however, must be either your own original creation or work that you own, and you may be asked to affirm that clearly when you contribute. + +4.2 I've made some very nice improvements to the font, will you consider adopting them and putting them into future Original Versions? +Most authors would be very happy to receive such contributions. Keep in mind that it is unlikely that they would want to incorporate major changes that would require additional work on their end. Any contributions would likely need to be made for all the fonts in a family and match the overall design and style. Authors are encouraged to include a guide to the design with the fonts. It would also help to have contributions submitted as patches or clearly marked changes (the use of smart source revision control systems like subversion, svk or bzr is a good idea). Examples of useful contributions are bug fixes, additional glyphs, stylistic alternates (and the smart font code to access them) or improved hinting. + +4.3 How can I financially support the development of OFL fonts? +It is likely that most authors of OFL fonts would accept financial contributions - contact them for instructions on how to do this. Such contributions would support future development. You can also pay for others to enhance the fonts and contribute the results back to the original authors for inclusion in the Original Version. + + +5 ABOUT THE LICENSE + +5.1 I see that this is version 1.1 of the license. Will there be later changes? +Version 1.1 is the first minor revision of the OFL. We are confident that version 1.1 will meet most needs, but are open to future improvements. Any revisions would be for future font releases, and previously existing licenses would remain in effect. No retroactive changes are possible, although the Copyright Holder(s) can re-release the font under a revised OFL. All versions will be available on our web site: http://scripts.sil.org/OFL. + +5.2 Can I use the SIL Open Font License for my own fonts? +Yes! We heartily encourage anyone to use the OFL to distribute their own original fonts. It is a carefully constructed license that allows great freedom along with enough artistic integrity protection for the work of the authors as well as clear rules for other contributors and those who redistribute the fonts. Some additional information about using the OFL is included at the end of this FAQ. + +5.3 Does this license restrict the rights of the Copyright Holder(s)? +No. The Copyright Holder(s) still retains all the rights to their creation; they are only releasing a portion of it for use in a specific way. For example, the Copyright Holder(s) may choose to release a 'basic' version of their font under the OFL, but sell a restricted 'enhanced' version. Only the Copyright Holder(s) can do this. + +5.4 Is the OFL a contract or a license? +The OFL is a license and not a contract and so does not require you to sign it to have legal validity. By using, modifying and redistributing components under the OFL you indicate that you accept the license. + +5.5 How about translating the license and the FAQ into other languages? +SIL certainly recognises the need for people who are not familiar with English to be able to understand the OFL and this FAQ better in their own language. Making the license very clear and readable is a key goal of the OFL. + +If you are an experienced translator, you are very welcome to help translating the OFL and its FAQ so that designers and users in your language community can understand the license better. But only the original English version of the license has legal value and has been approved by the community. Translations do not count as legal substitutes and should only serve as a way to explain the original license. SIL - as the author and steward of the license for the community at large - does not approve any translation of the OFL as legally valid because even small translations ambiguities could be abused and create problems. + +We give permission to publish unofficial translations into other languages provided that they comply with the following guidelines: + +- put the following disclaimer in both English and the target language stating clearly that the translation is unofficial: + +"This is an unofficial translation of the SIL Open Font License into $language. It was not published by SIL International, and does not legally state the distribution terms for fonts that use the OFL. A release under the OFL is only valid when using the original English text. + +However, we recognize that this unofficial translation will help users and designers not familiar with English to understand the SIL OFL better and make it easier to use and release font families under this collaborative font design model. We encourage designers who consider releasing their creation under the OFL to read the FAQ in their own language if it is available. + +Please go to http://scripts.sil.org/OFL for the official version of the license and the accompanying FAQ." +" + +- keep your unofficial translation current and update it at our request if needed, for example if there is any ambiguity which could lead to confusion. + +If you start such a unofficial translation effort of the OFL and its accompanying FAQ please let us know, thank you. + + +6 ABOUT SIL INTERNATIONAL + +6.1 Who is SIL International and what does it do? +SIL International is a worldwide faith-based education and development organization (NGO) that studies, documents, and assists in developing the world's lesser-known languages through literacy, linguistics, translation, and other academic disciplines. SIL makes its services available to all without regard to religious belief, political ideology, gender, race, or ethnic background. SIL's members and volunteers share a Christian commitment. + +6.2 What does this have to do with font licensing? +The ability to read, write, type and publish in one's own language is one of the most critical needs for millions of people around the world. This requires fonts that are widely available and support lesser-known languages. SIL develops - and encourages others to develop - a complete stack of writing systems implementation components available under open licenses. This open stack includes input methods, smart fonts, smart rendering libraries and smart applications. There has been a need for a common open license that is specifically applicable to fonts and related software (a crucial component of this stack) so SIL developed the SIL Open Font License with the help of the FLOSS community. + +6.3 How can I contact SIL? +Our main web site is: http://www.sil.org/ +Our site about complex scripts is: http://scripts.sil.org/ +Information about this license (including contact email information) is at: http://scripts.sil.org/OFL + + +7 ABOUT USING THE OFL FOR YOUR ORIGINAL FONTS + +If you want to release your fonts under the OFL, you only need to do the following: + +7.1 Put your copyright and reserved font names information in the beginning of the main OFL file. +7.2 Put your copyright and the OFL references in your various font files (such as in the copyright, license and description fields) and in your other components (build scripts, glyph databases, documentation, rendering samples, etc). +7.3 Write an initial FONTLOG for your font and include it in the release package. +7.4 Include the OFL in your release package. +7.5 We also highly recommend you include the relevant practical documentation on the license by putting the OFL-FAQ in your package. + + +That's all. If you have any more questions please get in touch with us. + + diff --git a/wp-content/plugins/really-simple-captcha/gentium/OFL.txt b/wp-content/plugins/really-simple-captcha/gentium/OFL.txt new file mode 100644 index 0000000..2c09f25 --- /dev/null +++ b/wp-content/plugins/really-simple-captcha/gentium/OFL.txt @@ -0,0 +1,94 @@ +Copyright (c) 2003-2008 SIL International (http://www.sil.org/), +with Reserved Font Names "Gentium" and "SIL". + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 1 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that the font +names of derivative works are changed. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/wp-content/plugins/really-simple-captcha/license.txt b/wp-content/plugins/really-simple-captcha/license.txt new file mode 100644 index 0000000..d159169 --- /dev/null +++ b/wp-content/plugins/really-simple-captcha/license.txt @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/wp-content/plugins/really-simple-captcha/readme.txt b/wp-content/plugins/really-simple-captcha/readme.txt new file mode 100644 index 0000000..cc96206 --- /dev/null +++ b/wp-content/plugins/really-simple-captcha/readme.txt @@ -0,0 +1,113 @@ +=== Really Simple CAPTCHA === +Contributors: takayukister +Donate link: http://contactform7.com/donate/ +Tags: captcha +Requires at least: 3.7 +Tested up to: 3.8.1 +Stable tag: 1.8 +License: GPLv2 or later +License URI: http://www.gnu.org/licenses/gpl-2.0.html + +Really Simple CAPTCHA is a CAPTCHA module intended to be called from other plugins. It is originally created for my Contact Form 7 plugin. + +== Description == + +Really Simple CAPTCHA does not work alone and is intended to work with other plugins. It is originally created for [Contact Form 7](http://contactform7.com/), however, you can use it with your own plugin. + +Note: This product is "really simple" as its name suggests, i.e., it is not strongly secure. If you need perfect security, you should try other solutions. + += How does it work? = + +Really Simple CAPTCHA does not use PHP "Sessions" for storing states, unlike many other PHP CAPTCHA solutions, but stores them as temporary files. This allows you to embed it into WordPress without worrying about conflicts. + +When you generate a CAPTCHA, Really Simple CAPTCHA creates two files for it; one is an image file of CAPTCHA, and the other is a text file which stores the correct answer to the CAPTCHA. + +The two files have the same (random) prefix in their file names, for example, "a7hk3ux8p.png" and "a7hk3ux8p.txt." In this case, for example, when the respondent answers "K5GF" as an answer to the "a7hk3ux8p.png" image, then Really Simple CAPTCHA calculates hash of "K5GF" and tests it against the hash stored in the "a7hk3ux8p.txt" file. If the two match, the answer is confirmed as correct. + += How to use with your plugin = + +Note: Below are instructions for plugin developers. + +First, create an instance of ReallySimpleCaptcha class: + + $captcha_instance = new ReallySimpleCaptcha(); + +You can change the instance variables as you wish. + + // Change the background color of CAPTCHA image to black + $captcha_instance->bg = array( 0, 0, 0 ); + +See really-simple-captcha.php if you are interested in other variables. + +Generate a random word for CAPTCHA. + + $word = $captcha_instance->generate_random_word(); + +Generate an image file and a corresponding text file in the temporary directory. + + $prefix = mt_rand(); + $captcha_instance->generate_image( $prefix, $word ); + +Then, show the image and get an answer from respondent. + +Check the correctness of the answer. + + $correct = $captcha_instance->check( $prefix, $the_answer_from_respondent ); + +If the $correct is true, go ahead. Otherwise, block the respondent -- as it would appear not to be human. + +And last, remove the temporary image and text files, as they are no longer in use. + + $captcha_instance->remove( $prefix ); + +That's all. + +If you wish to see a live sample of this, you can try [Contact Form 7](http://contactform7.com/). + +== Installation == + +In most cases you can install automatically from WordPress. + +However, if you install this manually, follow these steps: + +1. Upload the entire `really-simple-captcha` folder to the `/wp-content/plugins/` directory. +1. Activate the plugin through the 'Plugins' menu in WordPress. + +FYI: There is no "control panel" for this plugin. + +== Frequently Asked Questions == + += CAPTCHA does not work; the image does not show up. = + +Really Simple CAPTCHA needs GD and FreeType library installed on your server. Ask your server administrator if they are installed. + +Also, make the temporary file folder writable. The location of the temporary file folder is managed by the instance variable `tmp_dir` of ReallySimpleCaptcha class. Note that the setting varies depending on the calling plugin. For example, Contact Form 7 uses `wp-contents/uploads/wpcf7_captcha` as the temporary folder basically, but it can use different folder depending on your settings. + +If you have any further questions, please submit them [to the support forum](http://wordpress.org/support/plugin/really-simple-captcha). + +== Screenshots == + +1. screenshot-1.png + +== Changelog == + += 1.8 = + +* The required WordPress version changed to 3.7 and higher. +* Introduce normalize_path() to normalize file paths on different file systems. + += 1.7 = + +* The required WordPress version changed to 3.5 and higher. +* Remove spaces from response automatically as some users misthink there are spaces between letters. + += 1.6 = + +* Bundled font changed to Gentium Basic 1.1. +* Some workarounds for infrequently reported problems on Windows server. +* Do temp file cleanup every time before generating CAPTCHA image. + += 1.5 = + +* The required WordPress version changed to 3.2 and higher. +* Use plain text file as answer file (again). This time, hash value generated with hash_hmac() is stored in the file. diff --git a/wp-content/plugins/really-simple-captcha/really-simple-captcha.php b/wp-content/plugins/really-simple-captcha/really-simple-captcha.php new file mode 100644 index 0000000..daef6e0 --- /dev/null +++ b/wp-content/plugins/really-simple-captcha/really-simple-captcha.php @@ -0,0 +1,315 @@ +chars = 'ABCDEFGHJKLMNPQRSTUVWXYZ23456789'; + + /* Length of a word in an image */ + $this->char_length = 4; + + /* Array of fonts. Randomly picked up per character */ + $this->fonts = array( + dirname( __FILE__ ) . '/gentium/GenBkBasR.ttf', + dirname( __FILE__ ) . '/gentium/GenBkBasI.ttf', + dirname( __FILE__ ) . '/gentium/GenBkBasBI.ttf', + dirname( __FILE__ ) . '/gentium/GenBkBasB.ttf' ); + + /* Directory temporary keeping CAPTCHA images and corresponding text files */ + $this->tmp_dir = path_join( dirname( __FILE__ ), 'tmp' ); + + /* Array of CAPTCHA image size. Width and height */ + $this->img_size = array( 72, 24 ); + + /* Background color of CAPTCHA image. RGB color 0-255 */ + $this->bg = array( 255, 255, 255 ); + + /* Foreground (character) color of CAPTCHA image. RGB color 0-255 */ + $this->fg = array( 0, 0, 0 ); + + /* Coordinates for a text in an image. I don't know the meaning. Just adjust. */ + $this->base = array( 6, 18 ); + + /* Font size */ + $this->font_size = 14; + + /* Width of a character */ + $this->font_char_width = 15; + + /* Image type. 'png', 'gif' or 'jpeg' */ + $this->img_type = 'png'; + + /* Mode of temporary image files */ + $this->file_mode = 0444; + + /* Mode of temporary answer text files */ + $this->answer_file_mode = 0440; + } + + /** + * Generate and return a random word. + * + * @return string Random word with $chars characters x $char_length length + */ + public function generate_random_word() { + $word = ''; + + for ( $i = 0; $i < $this->char_length; $i++ ) { + $pos = mt_rand( 0, strlen( $this->chars ) - 1 ); + $char = $this->chars[$pos]; + $word .= $char; + } + + return $word; + } + + /** + * Generate CAPTCHA image and corresponding answer file. + * + * @param string $prefix File prefix used for both files + * @param string $word Random word generated by generate_random_word() + * @return string|bool The file name of the CAPTCHA image. Return false if temp directory is not available. + */ + public function generate_image( $prefix, $word ) { + if ( ! $this->make_tmp_dir() ) + return false; + + $this->cleanup(); + + $dir = trailingslashit( $this->tmp_dir ); + $filename = null; + + if ( $im = imagecreatetruecolor( $this->img_size[0], $this->img_size[1] ) ) { + $bg = imagecolorallocate( $im, $this->bg[0], $this->bg[1], $this->bg[2] ); + $fg = imagecolorallocate( $im, $this->fg[0], $this->fg[1], $this->fg[2] ); + + imagefill( $im, 0, 0, $bg ); + + $x = $this->base[0] + mt_rand( -2, 2 ); + + for ( $i = 0; $i < strlen( $word ); $i++ ) { + $font = $this->fonts[array_rand( $this->fonts )]; + $font = $this->normalize_path( $font ); + + imagettftext( $im, $this->font_size, mt_rand( -12, 12 ), $x, + $this->base[1] + mt_rand( -2, 2 ), $fg, $font, $word[$i] ); + $x += $this->font_char_width; + } + + switch ( $this->img_type ) { + case 'jpeg': + $filename = sanitize_file_name( $prefix . '.jpeg' ); + $file = $this->normalize_path( $dir . $filename ); + imagejpeg( $im, $file ); + break; + case 'gif': + $filename = sanitize_file_name( $prefix . '.gif' ); + $file = $this->normalize_path( $dir . $filename ); + imagegif( $im, $file ); + break; + case 'png': + default: + $filename = sanitize_file_name( $prefix . '.png' ); + $file = $this->normalize_path( $dir . $filename ); + imagepng( $im, $file ); + } + + imagedestroy( $im ); + @chmod( $file, $this->file_mode ); + } + + $this->generate_answer_file( $prefix, $word ); + + return $filename; + } + + /** + * Generate answer file corresponding to CAPTCHA image. + * + * @param string $prefix File prefix used for answer file + * @param string $word Random word generated by generate_random_word() + */ + public function generate_answer_file( $prefix, $word ) { + $dir = trailingslashit( $this->tmp_dir ); + $answer_file = $dir . sanitize_file_name( $prefix . '.txt' ); + $answer_file = $this->normalize_path( $answer_file ); + + if ( $fh = @fopen( $answer_file, 'w' ) ) { + $word = strtoupper( $word ); + $salt = wp_generate_password( 64 ); + $hash = hash_hmac( 'md5', $word, $salt ); + + $code = $salt . '|' . $hash; + + fwrite( $fh, $code ); + fclose( $fh ); + } + + @chmod( $answer_file, $this->answer_file_mode ); + } + + /** + * Check a response against the code kept in the temporary file. + * + * @param string $prefix File prefix used for both files + * @param string $response CAPTCHA response + * @return bool Return true if the two match, otherwise return false. + */ + public function check( $prefix, $response ) { + if ( 0 == strlen( $prefix ) ) { + return false; + } + + $response = str_replace( array( " ", "\t" ), '', $response ); + $response = strtoupper( $response ); + + $dir = trailingslashit( $this->tmp_dir ); + $filename = sanitize_file_name( $prefix . '.txt' ); + $file = $this->normalize_path( $dir . $filename ); + + if ( @is_readable( $file ) && ( $code = file_get_contents( $file ) ) ) { + $code = explode( '|', $code, 2 ); + + $salt = $code[0]; + $hash = $code[1]; + + if ( hash_hmac( 'md5', $response, $salt ) == $hash ) + return true; + } + + return false; + } + + /** + * Remove temporary files with given prefix. + * + * @param string $prefix File prefix + */ + public function remove( $prefix ) { + $suffixes = array( '.jpeg', '.gif', '.png', '.php', '.txt' ); + + foreach ( $suffixes as $suffix ) { + $dir = trailingslashit( $this->tmp_dir ); + $filename = sanitize_file_name( $prefix . $suffix ); + $file = $this->normalize_path( $dir . $filename ); + + if ( @is_file( $file ) ) { + unlink( $file ); + } + } + } + + /** + * Clean up dead files older than given length of time. + * + * @param int $minutes Consider older files than this time as dead files + * @return int|bool The number of removed files. Return false if error occurred. + */ + public function cleanup( $minutes = 60 ) { + $dir = trailingslashit( $this->tmp_dir ); + $dir = $this->normalize_path( $dir ); + + if ( ! @is_dir( $dir ) || ! @is_readable( $dir ) ) + return false; + + $is_win = ( 'WIN' === strtoupper( substr( PHP_OS, 0, 3 ) ) ); + + if ( ! ( $is_win ? win_is_writable( $dir ) : @is_writable( $dir ) ) ) + return false; + + $count = 0; + + if ( $handle = @opendir( $dir ) ) { + while ( false !== ( $filename = readdir( $handle ) ) ) { + if ( ! preg_match( '/^[0-9]+\.(php|txt|png|gif|jpeg)$/', $filename ) ) + continue; + + $file = $this->normalize_path( $dir . $filename ); + + $stat = @stat( $file ); + if ( ( $stat['mtime'] + $minutes * 60 ) < time() ) { + @unlink( $file ); + $count += 1; + } + } + + closedir( $handle ); + } + + return $count; + } + + /** + * Make a temporary directory and generate .htaccess file in it. + * + * @return bool True on successful create, false on failure. + */ + public function make_tmp_dir() { + $dir = trailingslashit( $this->tmp_dir ); + $dir = $this->normalize_path( $dir ); + + if ( ! wp_mkdir_p( $dir ) ) + return false; + + $htaccess_file = $this->normalize_path( $dir . '.htaccess' ); + + if ( file_exists( $htaccess_file ) ) + return true; + + if ( $handle = @fopen( $htaccess_file, 'w' ) ) { + fwrite( $handle, 'Order deny,allow' . "\n" ); + fwrite( $handle, 'Deny from all' . "\n" ); + fwrite( $handle, '' . "\n" ); + fwrite( $handle, ' Allow from all' . "\n" ); + fwrite( $handle, '' . "\n" ); + fclose( $handle ); + } + + return true; + } + + /** + * Normalize a filesystem path. + * + * This should be replaced by wp_normalize_path when the plugin's + * minimum requirement becomes WordPress 3.9 or higher. + * + * @param string $path Path to normalize. + * @return string Normalized path. + */ + private function normalize_path( $path ) { + $path = str_replace( '\\', '/', $path ); + $path = preg_replace( '|/+|', '/', $path ); + return $path; + } +} + +?> \ No newline at end of file diff --git a/wp-content/plugins/really-simple-captcha/tmp/index.php b/wp-content/plugins/really-simple-captcha/tmp/index.php new file mode 100644 index 0000000..4e6c07c --- /dev/null +++ b/wp-content/plugins/really-simple-captcha/tmp/index.php @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/wp-content/plugins/wordfence/css/colorbox.css b/wp-content/plugins/wordfence/css/colorbox.css new file mode 100644 index 0000000..ed2ef06 --- /dev/null +++ b/wp-content/plugins/wordfence/css/colorbox.css @@ -0,0 +1,64 @@ +/* + ColorBox Core Style: + The following CSS is consistent between example themes and should not be altered. +*/ +#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;} +#cboxOverlay{position:fixed; width:100%; height:100%;} +#cboxMiddleLeft, #cboxBottomLeft{clear:left;} +#cboxContent{position:relative;} +#cboxLoadedContent{overflow:auto;} +#cboxTitle{margin:0;} +#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%;} +#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;} +.cboxPhoto{float:left; margin:auto; border:0; display:block;} +.cboxIframe{width:100%; height:100%; display:block; border:0;} + +/* + User Style: + Change the following styles to modify the appearance of ColorBox. They are + ordered & tabbed in a way that represents the nesting of the generated HTML. +*/ +#cboxOverlay{ + background: #777; + background: -webkit-radial-gradient(rgba(120, 120, 120, 0.8), rgba(100, 100, 100, 0.8) 50%, rgba(70, 70, 70, 1)); + background: -moz-radial-gradient(rgba(120, 120, 120, 0.6), rgba(100, 100, 100, 0.8) 20%, rgba(70, 70, 70, 1)); +} +#colorbox { } + #cboxContent { background:#fff; overflow:hidden; padding: 0 0 8px; margin: 20px; + -webkit-border-radius: 3px 3px 2px 2px; -moz-border-radius: 3px 3px 2px 2px; border-radius: 3px 3px 2px 2px; /* border radius */ + -webkit-box-shadow: 0 2px 4px rgba(0,0,0,.4); -moz-box-shadow: 0 2px 4px rgba(0,0,0,.4); box-shadow: 0 2px 4px rgba(0,0,0,.4); /* box shadow */ + -webkit-background-clip: padding-box; /* smoother borders with webkit */ } + #cboxError{padding:50px; border:1px solid #ccc;} + #cboxLoadedContent { + /* margin-bottom:28px; */ + /* MDM added: */ margin: 10px 20px 28px 20px; font-family: Arial; color: #333; + -webkit-border-radius: 2px 2px 0 0; -moz-border-radius: 2px 2px 0 0; border-radius: 2px 2px 0 0; /* border radius */ + } + #cboxTitle{position:absolute; bottom:8px; left:5px; text-align:center; width:100%; color:#949494;} + #cboxCurrent{position:absolute; bottom:8px; left:63px; color:#949494; text-indent: -9999px;} + #cboxSlideshow{position:absolute; bottom:8px; right:35px; color:#0092ef;} + #cboxPrevious{position:absolute; bottom:5px; left:5px; background:url(../images/lightbox-controls.png) no-repeat -75px 0; width:25px; height:25px; text-indent:-9999px;} + #cboxPrevious.hover{background-position:-75px -25px;} + #cboxNext{position:absolute; bottom:5px; left:32px; background:url(../images/lightbox-controls.png) no-repeat -50px 0; width:25px; height:25px; text-indent:-9999px;} + #cboxNext.hover{background-position:-50px -25px;} + #cboxLoadingOverlay{background:url(../images/loading_background.png) no-repeat center center;} + #cboxLoadingGraphic{background:url(../images/loading.gif) no-repeat center center;} + #cboxClose{position:absolute; bottom:5px; right:5px; background:url(../images/lightbox-controls.png) no-repeat -25px 0; width:25px; height:25px; text-indent:-9999px;} + #cboxClose.hover{background-position:-25px -25px;} + +/* + The following fixes a problem where IE7+ replaces a PNG's alpha transparency with a black fill + when an alpha filter (opacity change) is set on the element or ancestor element. +*/ +.cboxIE #cboxTopLeft, +.cboxIE #cboxTopCenter, +.cboxIE #cboxTopRight, +.cboxIE #cboxBottomLeft, +.cboxIE #cboxBottomCenter, +.cboxIE #cboxBottomRight, +.cboxIE #cboxMiddleLeft, +.cboxIE #cboxMiddleRight { + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF); +} + + diff --git a/wp-content/plugins/wordfence/css/diff.css b/wp-content/plugins/wordfence/css/diff.css new file mode 100644 index 0000000..4d9bbc2 --- /dev/null +++ b/wp-content/plugins/wordfence/css/diff.css @@ -0,0 +1,118 @@ +body { + background: #fff; + font-family: Arial; + font-size: 12px; +} +.Differences { + width: 100%; + border-collapse: collapse; + border-spacing: 0; + empty-cells: show; +} + +.Differences thead th { + text-align: left; + border-bottom: 1px solid #000; + background: #aaa; + color: #000; + padding: 4px; +} +.Differences tbody th { + text-align: right; + background: #ccc; + width: 4em; + padding: 1px 2px; + border-right: 1px solid #000; + vertical-align: top; + font-size: 13px; +} + +.Differences td { + padding: 1px 2px; + font-family: Consolas, monospace; + font-size: 13px; +} + +.DifferencesSideBySide .ChangeInsert td.Left { + background: #dfd; +} + +.DifferencesSideBySide .ChangeInsert td.Right { + background: #cfc; +} + +.DifferencesSideBySide .ChangeDelete td.Left { + background: #f88; +} + +.DifferencesSideBySide .ChangeDelete td.Right { + background: #faa; +} + +.DifferencesSideBySide .ChangeReplace .Left { + background: #fe9; +} + +.DifferencesSideBySide .ChangeReplace .Right { + background: #fd8; +} + +.Differences ins, .Differences del { + text-decoration: none; +} + +.DifferencesSideBySide .ChangeReplace ins, .DifferencesSideBySide .ChangeReplace del { + background: #fc0; +} + +.Differences .Skipped { + background: #f7f7f7; +} + +.DifferencesInline .ChangeReplace .Left, +.DifferencesInline .ChangeDelete .Left { + background: #fdd; +} + +.DifferencesInline .ChangeReplace .Right, +.DifferencesInline .ChangeInsert .Right { + background: #dfd; +} + +.DifferencesInline .ChangeReplace ins { + background: #9e9; +} + +.DifferencesInline .ChangeReplace del { + background: #e99; +} + +pre { + width: 100%; + overflow: auto; +} +h1 { + background: url(../images/wordfence-logo-64x64.png); + background-position: 0 0; + background-repeat: no-repeat; + height: 64px; + vertical-align: middle; + padding: 10px 0 0 70px; + margin: 20px 0 10px 0; + font-size: 34px; + color: #777; +} +table.summary { + font-weight: bold; +} +.diffFooter { + text-align: center; + font-size: 16px; + color: #999; + font-family: Verdana; + margin: 50px auto 50px auto; +} +.diffFooter a { + color: #999; +} + diff --git a/wp-content/plugins/wordfence/css/dt_table.css b/wp-content/plugins/wordfence/css/dt_table.css new file mode 100644 index 0000000..9ec00c1 --- /dev/null +++ b/wp-content/plugins/wordfence/css/dt_table.css @@ -0,0 +1,54 @@ +.paging_two_button .ui-button{float:left;cursor:hand} +.paging_full_numbers .ui-button{cursor:hand;margin:0;padding:2px 6px} +.dataTables_paginate .ui-button{margin-right:-.1em!important} +.dataTables_wrapper .ui-toolbar{padding:5px} +.dataTables_paginate{width:auto;float:right;text-align:right} +.dataTables_info{float:left} +table.display thead th{cursor:pointer;text-align:left;font-size:11px;border:1px solid #ccc;padding-right:4px;text-transform:uppercase} +table.display thead th .th_wrapp{padding:8px 4px 5px 9px} +table.display thead th.sorting_disabled{cursor:default} +div.dataTables_wrapper .ui-widget-header{font-weight:400} +table.display thead th div.DataTables_sort_wrapper{position:relative;padding-right:20px} +table.display thead th div.DataTables_sort_wrapper span{position:absolute;top:50%;margin-top:-8px;right:0} +.dataTables_wrapper{position:relative;_height:302px;clear:both;overflow:hidden} +.dataTables_processing{position:absolute;top:0;left:50%;width:250px;margin-left:-125px;border:1px solid #ddd;text-align:center;color:#999;padding:2px 0} +.dataTables_length{width:40%;float:left} +.dataTables_filter{width:50%;float:right;text-align:right} +.dataTables_filter input {border:1px;border-color:#b8b8b8 #e2e2e2 #e2e2e2 #b8b8b8;border-style:solid;padding:2px} +.paginate_disabled_previous,.paginate_enabled_previous,.paginate_disabled_next,.paginate_enabled_next{height:19px;width:19px;margin-left:3px;float:left} +.paginate_enabled_previous,.paginate_enabled_next{cursor:pointer} +.paginate_disabled_previous{background-image:url(../images/back_disabled.jpg)} +.paginate_enabled_previous{background-image:url(../images/back_enabled.jpg)} +.paginate_disabled_next{background-image:url(../images/forward_disabled.jpg)} +.paginate_enabled_next{background-image:url(../images/forward_enabled.jpg)} +table.display{width:800px;clear:both;border-collapse:collapse;margin:0 0 24px;background:#fff;position:relative;top:12px} +table.display tfoot th{font-weight:400;padding:3px 8px 3px 8px} +table.display tr.heading2 td{border-bottom:1px solid #aaa} +table.display td{padding:5px 8px;border:1px solid #ccc} +.sorting_asc div.th_wrapp{background:url(../images/sort_asc.gif) no-repeat right center} +.sorting_desc div.th_wrapp{background:url(../images/sort_desc.gif) no-repeat right center} +.sorting_asc_disabled div.th_wrapp{background: url('../images/sort_asc_disabled.gif') no-repeat center right} +.sorting_desc_disabled div.th_wrapp{background: url('../images/sort_desc_disabled.gif') no-repeat center right} +.sorting div.th_wrapp{background:url(../images/sort_both.gif) no-repeat right center} +tr.odd{background-color:#f5f5f5} +tr.even{background-color:#fff} +.top,.bottom{background-color:#F5F5F5;border:1px solid #CCC;padding:15px} +.top .dataTables_info{float:none} +tfoot input{width:100%;color:#444;margin:.5em 0} +tfoot input.search_init{color:#999} +td.group{background-color:#d1cfd0;border-bottom:2px solid #A19B9E;border-top:2px solid #A19B9E} +td.details{background-color:#d1cfd0;border:2px solid #A19B9E} +.example_alt_pagination div.dataTables_info{width:40%} +.paging_full_numbers span.paginate_button,.paging_full_numbers span.paginate_active{border:1px solid #ccc;cursor:pointer;margin:0 0 0 5px;padding:2px 5px} +.paging_full_numbers span.paginate_button:hover{background-color:#e5e5e5} +.paging_full_numbers span.paginate_active{background-color:#e5e5e5} +.paging_full_numbers span.paginate_button_disabled {color:#ccc;cursor:default} +.paging_full_numbers span.paginate_button_disabled:hover {background:#fff} +table.display tr.even.row_selected td{background-color:#B0BED9} +table.display tr.odd.row_selected td{background-color:#9FAFD1} +.sorting_1 {background:#f5f5f5} +table.display td.center,.dataTables_empty{text-align:center} +.dataTables_empty{background:#fff} +.paging_full_numbers span.paginate_button{background-color:#fff} +.dataTables_scroll,.clear{clear:both} +.dataTables_info,.dataTables_length,.dataTables_filter,.dataTables_processing,.paging_full_numbers span.paginate_button,.paging_full_numbers span.paginate_active {font-size:11px} diff --git a/wp-content/plugins/wordfence/css/fullLog.css b/wp-content/plugins/wordfence/css/fullLog.css new file mode 100644 index 0000000..76a5284 --- /dev/null +++ b/wp-content/plugins/wordfence/css/fullLog.css @@ -0,0 +1,21 @@ +body { + background: #fff; + font-family: Arial; + font-size: 12px; +} +h1 { + background: url(../images/wordfence-logo-64x64.png); + background-position: 0 0; + background-repeat: no-repeat; + height: 64px; + vertical-align: middle; + padding: 10px 0 0 70px; + margin: 20px 0 10px 0; + font-size: 34px; + color: #777; +} +.error { + color: #F00; + font-weight: bold; + margin: 20px 0 20px 0; +} diff --git a/wp-content/plugins/wordfence/css/iptraf.css b/wp-content/plugins/wordfence/css/iptraf.css new file mode 100644 index 0000000..3381e77 --- /dev/null +++ b/wp-content/plugins/wordfence/css/iptraf.css @@ -0,0 +1,49 @@ +body { + background: #fff; + font-family: Arial; + font-size: 12px; +} + + +pre { + width: 100%; + overflow: auto; +} +h1 { + background: url(../images/wordfence-logo-64x64.png); + background-position: 0 0; + background-repeat: no-repeat; + height: 64px; + vertical-align: middle; + padding: 10px 0 0 70px; + margin: 20px 0 10px 0; + font-size: 34px; + color: #777; +} + +.footer { + text-align: center; + font-size: 16px; + color: #999; + font-family: Verdana; + margin: 50px auto 50px auto; +} +.footer a { + color: #999; +} +td, th { + vertical-align: top; +} +th, td { + text-align: left; + padding-bottom: 5px; +} +th { + white-space:nowrap; +} +th.HTTP, td.HTTP { + padding: 0; + font-weight: normal; + font-size: 10px; +} +th.HTTP { padding-right: 5px; } diff --git a/wp-content/plugins/wordfence/css/main.css b/wp-content/plugins/wordfence/css/main.css new file mode 100644 index 0000000..0aaa7e3 --- /dev/null +++ b/wp-content/plugins/wordfence/css/main.css @@ -0,0 +1,422 @@ +.wordfenceWrap { + margin: 20px 0 0 20px; +} +div.wordfenceLive { + height: 29px; + white-space: nowrap; + overflow: hidden; + border-width: 1px 0 1px 0; + background-color: #FFFCEF; + border-color: #666; + border-style: solid; + margin: 20px 0 10px 0; + padding: 3px 3px 3px 10px; + font-family: Arial; + font-size: 14px; + -webkit-font-smoothing: antialiased; +} +div.wordfenceLive h2 { + font-weight: bold; + color: #888; + margin: 0 10px 0 0; + padding: 0; + display: inline; + font-size: 14px; + font-family: Georgia, serif; + font-style: italic; + -webkit-font-smoothing: antialiased; +} +div.wordfenceLive p { + color: #000; + font-weight: normal; + display: inline; +} +.wordfence-icon32 { + width: 32px; + height: 32px; + background-position: 0 0; + background-repeat: no-repeat; + padding: 0; + margin: 7px 5px 0 0; + float: left; +} +#wfHeading { + white-space: nowrap; +} +div.wordfence-lock-icon { + background-image: url(../images/wordfence-logo-32x32.png); +} + +.wordfence .resulticon { + display: block; + float: left; + width: 16px; + height: 16px; + background-position: 0 0; + background-repeat: no-repeat; + border-width: 0; + padding: 0; + margin: 0 3px 0 0; + background-image: url(../images/icons/bullet_yellow.png); +} + +.wordfence .wordfenceScanButton { margin: 20px 0 20px 0; } + +.wordfenceBoldTD { + font-weight: bold; +} + +.wfAjax24 { + display: none; + width: 24px; + height: 24px; + background-image: url(../images/icons/ajax24.gif); + margin: 0; + padding: 0; +} + + +div.wfLoadingWhite32 { + width: 32px; + height: 32px; + background-image: url(../images/icons/ajaxWhite32x32.gif); + margin: 0; + padding: 0; +} + +div.wordfenceScanButton input.button-wf-grey { + background: #EFEFEF url(../images/button-grad-grey.png) repeat-x scroll left top; + border-color: #EFEFEF; +} +.wordfenceScanButton table td { vertical-align: top; } + +.wfTabsContainer { + background-color: #FFF; + overflow: hidden; + border: 1px solid #CCC; + max-width: 900px; + padding: 15px; + min-height: 200px; + -webkit-font-smoothing: antialiased; +} +#wfTabs::after { + content: "."; + display: block; + height: 0; + width: 0; + line-height: 0; + clear: both; + visibility: hidden; +} +#wfTabs a { + float: left; + z-index: 10; + height: 18px; + margin: 0 5px -1px 0; + padding: 5px 8px; + border: 1px solid #CCC; + text-decoration: none; + background-color: #EFEFEF; + color: #21759B; + -moz-border-radius-topright: 3px; + -moz-border-radius-topleft: 3px; + border-top-right-radius: 3px; + border-top-left-radius: 3px; +} +#wfTabs a.selected { + border-bottom: 1px solid #FFF; + background-color: #FFF; + color: #777; +} +table.wfSummaryParent { font-family: sans-serif; font-size: 14px; color: #000; z-index: 9;} +table.wfSummaryParent td { vertical-align: top; padding: 0; margin: 0; } +table.wfSummaryParent table.wfSummaryChild th { font-weight: bold; text-align: right; font-family: Georgia, serif; color: #000; padding: 5px 10px 5px 0; border-top: 1px solid #CCC; } +table.wfSummaryParent table.wfSummaryChild td { font-weight: normal; text-align: left; padding: 5px 0 5px 0; border-top: 1px solid #CCC; } +table.wfSummaryParent table.wfSC1 td { width: 300px; padding: 0px 25px 10px 0; } +table.wfSummaryParent table.wfSC2 th { width: 80px; } +table.wfSummaryParent table.wfSC2 td { width: 100px; } +table.wfSummaryParent table.wfSC3 th { width: 80px; } +table.wfSummaryParent table.wfSC3 td { width: 250px; } +table.wfSummaryParent th.wfHead { font-size: 22px; font-family: Georgia, serif; font-style: italic; color: #555; font-weight: bold; text-align: left; padding: 20px 0 20px 0px; -webkit-font-smoothing: antialiased; } + +div.wfIssue table.wfIssue td { padding: 2px; margin: 0; border-width: 0px; text-align: left; } +div.wfIssue table.wfIssue th { padding: 2px; margin: 0; font-weight: bold; text-align: left; color: #777; } +div.wfIssue h2 { margin: 0px 0 5px 0; padding: 0; } +div.wfIssue table.wfIssueLinks td { border-width: 0px; text-align: left; padding-right: 10px; } +.wfIssueOptions { + border-top: 1px solid #CCC; + padding: 10px; +} +.wfIssueOptions a { + margin-left: 10px; +} +.wfIssueOptions strong { + float: left; + display: block; + width: 60px; +} +.wfProbSev1, .wfProbSev2, .wfAjaxLight128, .wfResolved { + width: 128px; + height: 128px; + border: 0; + margin: 0 auto; + background-repeat: no-repeat; background-position: 0 0; + text-decoration: none; + display: block; +} +.wfProbSev1 { background-image: url(../images/icons/error128.png); } +.wfProbSev2 { background-image: url(../images/icons/warning128.png); } +.wfResolved { background-image: url(../images/icons/tick128.png); } +.wfAjaxLight128 { background-image: url(../images/icons/ajax3.gif); } +.wfStrong { font-weight: bold; } +.wordfenceModeElem { display: none; } +.wfIssuesContainer { width: 800px; display: none; } +.wfIssuesContainer p { width: 550px; } +.wfWarn { color: #F00; } +img.wfFlag { vertical-align: middle; margin: -3px 4px 0 0; } +.wfHitTime { font-style: italic; } +.wfAvatar img { vertical-align: middle; } +.wfActEvent { border-bottom: 1px solid #CCC; margin: 0 0 10px 0; padding: 0 0 10px 0; } +.wfTimeAgo { font-family: Georgia, times; color: #999; font-weight: bold; font-style: italic; } +table.wfConfigForm th { + font-weight: normal; + text-align: left; + padding: 2px 3px 1px 0; + vertical-align: middle; +} +table.wfConfigForm td { + vertical-align: middle; +} +table th.wfConfigEnable { font-weight: bold; } +.wfSavedMsg { display: none; color: #A00; } +table th.wfSubheading { font-weight: bold; padding-top: 10px; } +.wfALogTime { color: #999; } +.wfALogEntry { } +.wfALogMailLink, .wfALogViewLink { + display: block; + position: absolute; + padding: 0 0 0 18px; + margin: 0; + right: 10px; + top: 0px; + background-repeat: no-repeat; + font-weight: normal; +} +.wfALogMailLink { + background-image: url(../images/icons/email_go.png); +} +.wfALogViewLink { + background-image: url(../images/icons/magnifier.png); +} +#wfActivity { position: relative; } +h3.wfConfigHeading { + font-size: 22px; + color: #777; + font-family: Georgia; + font-style: italic; + font-weight: normal +} +.wfTipText { + color: #777; + font-family: Georgia; + font-style: italic; +} + +.consoleHead { + position: relative; + padding: 0 0 0 3px; + font-weight: bold; + width: 800px; +} +.consoleHeadText { + font-size: 18px; + font-family: Georgia, serif; + font-style: italic; + color: #555; + font-weight: bold; + -webkit-font-smoothing: antialiased; + +} +.consoleOuter { width: 800px; } +.consoleInner { height: 116px; overflow: auto; z-index: 1; } +.bevelDiv1 { border: 1px solid #EFEFEF; } +.bevelDiv2 { border: 1px solid #AAA; } +.bevelDiv3 { border: 1px solid #555; + background-color: #FFFFE0; /* #FFFFF0; /* #FFEBCD; #FFFACD; */ + color: #000; padding: 5px; font-family: Arial; -webkit-font-smoothing: none; } + +.wfBlackCursor{ color: #FFF; } +.wfSecure { color: #0A0; font-weight: bold; } +.wfActivityLine { +} +.wfSummaryDate { float: left; margin-left: 3px; } +.wfSummaryMsg { float: left; margin-left: 3px; } +.wfSummaryResult { float: right; text-align: left; width: 280px; } +.wfSummaryLoading { width: 16px; height: 11px; background-image: url('../images/icons/ajaxScan.gif'); } +.wfSummaryBad, .wfSummaryErr { color: #A00; } +.wfSummaryOK { color: #0A0; } +.wfClear { + content: "."; + display: block; + height: 0; + width: 0; + line-height: 0; + clear: both; + visibility: hidden; +} +.wfSummaryFinal { + -webkit-font-smoothing: antialiased; + font-weight: bold; + color: #555; +} +input.wfStartScanButton { width: 160px; text-align: left; padding-left: 20px; } +.wferror { + color: #F00; +} +#wordfenceWorking { + padding: 2px 8px 2px 24px; + z-index: 100000; + position: fixed; + right: 2px; + bottom: 2px; + border: 1px solid #000; + background-color: #F00; + color: #FFF; + font-size: 12px; + font-weight: bold; + font-family: Arial; + text-align: center; + background-image: url('../images/icons/ajaxRed16.gif'); + background-position: 2px 2px; + background-repeat: no-repeat; +} +#paidWrap { + position: relative; +} +#paidCover { +} +.paidInnerMsg { + width: 500px; + margin: 150px auto 0 auto; + color: #000; + font-size: 18px; + font-family: Georgia, Times; + line-height: 1.8em; + text-align: center; + -webkit-font-smoothing: antialiased; +} +.wfMarker { + height: 1px; + width: 1px; +} +.wfPaidOnlyNotice { + width: 500px; + background-color: #FFFFE0; + border: 1px solid #000; + padding: 10px; + margin: 20px; +} +.wfFalconNotice { + width: 500px; + background-color: #FFD7CE; + border: 1px solid #000; + padding: 10px; + margin: 20px; +} +.wfFalcon { + width: 63px; + height: 63px; + border-width: 0px; + background-color: transparent; + background-image: url(../images/wordfenceFalcon.png); + background-position: 0 0; + background-repeat: no-repeat; + position: absolute; + right: 2px; + top: 3px; +} +.wfFalconImage { + width: 63px; + height: 63px; + border-width: 0px; + background-color: transparent; + background-image: url(../images/wordfenceFalcon.png); + background-position: 0 0; + background-repeat: no-repeat; + margin: 5px auto 15px auto; +} +.wfSmallFalcon { + width: 33px; + height: 16px; + border-width: 0px; + background-color: transparent; + background-image: url(../images/wordfenceFalconSmall.png); + background-position: 0 0; + background-repeat: no-repeat; + margin: 0px; + padding: 0px; + display: inline; + float: right; +} + + + +.wfOnOffSwitch { + position: relative !important ; width: 69px !important ; + -webkit-user-select:none !important ; -moz-user-select:none !important ; -ms-user-select: none !important ; +} +.wfOnOffSwitch-checkbox { + display: none !important ; +} +.wfOnOffSwitch-label { + display: block !important ; overflow: hidden !important ; cursor: pointer !important ; + border: 2px solid #999999 !important ; border-radius: 19px !important ; +} +.wfOnOffSwitch-inner { + width: 200% !important ; margin-left: -100% !important ; + -moz-transition: margin 0.3s ease-in 0s !important ; -webkit-transition: margin 0.3s ease-in 0s !important ; + -o-transition: margin 0.3s ease-in 0s !important ; transition: margin 0.3s ease-in 0s !important ; +} +.wfOnOffSwitch-inner:before, .wfOnOffSwitch-inner:after { + float: left !important ; width: 50% !important ; height: 19px !important ; padding: 0 !important ; line-height: 19px !important ; + font-size: 14px !important ; color: white !important ; font-family: Trebuchet, Arial, sans-serif !important ; font-weight: bold !important ; + -moz-box-sizing: border-box !important ; -webkit-box-sizing: border-box !important ; box-sizing: border-box !important ; + border-radius: 19px !important ; + box-shadow: 0px 9.5px 0px rgba(0,0,0,0.08) inset !important ; +} +.wfOnOffSwitch-inner:before { + content: "ON" !important ; + padding-left: 10px !important ; + background-color: #30D965 !important ; color: #FFFFFF !important ; + border-radius: 19px 0 0 19px !important ; +} +.wfOnOffSwitch-inner:after { + content: "OFF" !important ; + padding-right: 10px !important ; + background-color: #EEEEEE !important ; color: #999999 !important ; + text-align: right !important ; + border-radius: 0 19px 19px 0 !important ; +} +.wfOnOffSwitch-switch { + width: 19px !important ; margin: 0px !important ; + background: #FFFFFF !important ; + border: 2px solid #999999 !important ; border-radius: 19px !important ; + position: absolute !important ; top: 0 !important ; bottom: 0 !important ; right: 46px !important ; + -moz-transition: all 0.3s ease-in 0s !important ; -webkit-transition: all 0.3s ease-in 0s !important ; + -o-transition: all 0.3s ease-in 0s !important ; transition: all 0.3s ease-in 0s !important ; + background-image: -moz-linear-gradient(center top, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0) 80%) !important ; + background-image: -webkit-linear-gradient(center top, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0) 80%) !important ; + background-image: -o-linear-gradient(center top, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0) 80%) !important ; + background-image: linear-gradient(center top, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0) 80%) !important ; + box-shadow: 0 1px 1px white inset !important ; +} +.wfOnOffSwitch-checkbox:checked + .wfOnOffSwitch-label .wfOnOffSwitch-inner { + margin-left: 0 !important ; +} +.wfOnOffSwitch-checkbox:checked + .wfOnOffSwitch-label .wfOnOffSwitch-switch { + right: 0px !important ; +} +#wordfenceConfigWarning { + clear: left; + margin-top: 5px; +} diff --git a/wp-content/plugins/wordfence/css/phpinfo.css b/wp-content/plugins/wordfence/css/phpinfo.css new file mode 100644 index 0000000..41e8385 --- /dev/null +++ b/wp-content/plugins/wordfence/css/phpinfo.css @@ -0,0 +1,30 @@ + + +h1.p { + background: url(../images/wordfence-logo-64x64.png); + background-position: 0 0; + background-repeat: no-repeat; + height: 64px; + vertical-align: middle; + padding: 10px 0 0 70px; + margin: 20px 0 10px 0; + font-family: Arial; + font-weight: normal; + font-size: 26px; +} +h1.p:before { + content: "Wordfence System Info for "; +} +td img { display: none; } + +.diffFooter { + text-align: center; + font-size: 16px; + color: #999; + font-family: Verdana; + margin: 50px auto 50px auto; +} +.diffFooter a { + color: #999; +} + diff --git a/wp-content/plugins/wordfence/images/back_disabled.jpg b/wp-content/plugins/wordfence/images/back_disabled.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3cc8fa50adeb428591e56bdee6b3476f29adefe7 GIT binary patch literal 1220 zcmah|O=#Rk6dqZrG1#eB_S)NQ%39Up7@DkRv|8<2B3s)l$<)wolC>c@1d1$8V&O=m zNOE^=D1^3$KpSYUg_c5($tBQ`(xlYTA4)GJ25Y&SctBa1} z7T!(cndoR`Gr+KgBeD_Nn8J&FGVR^-g;F5RMl*=L;bA{sGU@{Lh>q)M5>nL0f>|-j zwOL6rQNwH?!$gKG8C6+nsD18|AH|k$<388j<;u_HYI=yRn1m~Yoa;~T_!@~xv_=A6 zUsm{&uJ4d`ls2}PCl1}Wv9lNwkMDLybN8srjajo+)76TsOJ=zu$>xH(pwG%Ry{0r| zWl`vHoITb4F9%X_n2vGJSoBVN{`5580d|mi+C{w?z_2XC?%#oO6gb9?OAk*JU$M?#ebiXh?f1U;ZXfp_ zYVsQxp&A1m%Yiv?|H_>&pM3sc=*G=cUwJ><CeosS^k%aEAL+X@WSBj1172c@%OD4Jm&}Iqt>>ak1n5o=h!7~@bnv>K7Q-MC)Im~ IF_ql;2U9Rtg#Z8m literal 0 HcmV?d00001 diff --git a/wp-content/plugins/wordfence/images/back_enabled.jpg b/wp-content/plugins/wordfence/images/back_enabled.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2298da99fd54dda000d0221778fa8d8485007297 GIT binary patch literal 1279 zcmah|Pi)&{6#txbRUs{jn{ni}%>yLvmuq(l@0F^pQdmSKP1iI4z1UJKvv^>uiNYZo(S+$xP zp;!j#%Qi_96ba_$eOp%Anuj&DRoyJ%zg@h9W4c?gj%^%SRyNv7 zQN`z<#O8d#H*7=mWXw0#Ojqzrct5!S^`4u=v3`ixF5%@KD|Vu>h>4b?VH`na6)I0- z`5Zy#sA8`81jbM_MbZpO@mZP@I9{M=Y#=yfbJP`KNvaLFpjE;LO?A6nqRSGNvr5v% zVv(d6l3}tiBI~Z3p6q8$H#5v2X|Cevwx?Sr*2^e2t&Ug1VWt1JVAzeuPU3q`%P@L< z^`l*HN!u;sp3&~|x~-8*nrn3&MT6m)AsEi?{zSb%SdAcAO2^PluP&8v=pj^H6)F|B zS}f!#iQ##gu2N;1qQzW6l4^OjN=elrwr;wfY%1CitM6dB+I_Kt=xDNMIm?!{HhjIs zmgQM)%d#=?7>6C#P1WkUy}=IZ)Exbkrq&$G!1|LB^gZlsrBLO0v6y2;y2|8ewpuQh z#RAKVJXc}48a}|Nd%FE!3<=4}-ZSob)}agTN>ANcQfTa~xn{!McHj~Rx4}dG)dcEg zcq~Y;1zrKMNF*{IiH(oPlF^B1ayk)aqoh1%&97S>5!ovLC6v1VHj)6Fc zhY=ivP$Y~Z!582pyy#GP_tK#j3Xkj?MUcCE(1-yf91ev>Bf}pE3W4zvdh#*(_wv!V z{>U(url_1b`}w}9QS?9X;072ELoPIof_ZTJgUw9*0i~XOaPic${+~Z;!pg0!H*Z~) z-)oKJYnz{ax%`b8`TpY*-{zk=I{n(j3-X5-uDnr+pLs`o>8FYI>38o$f1w?FYv#Io z)%&{eSCeP*o0mSavqJm)1X#WC`u5t%=cMwv3+JBx;m%i|9v-{mT$|iB#@@bmq(k!C aFA7U9pJ#sl{(+%k(&%kzt}ixr%MP1rVFUI0`l z22$r-l$uzQnV+W+l9`*zU}&gsXs&NyaVw{^5U9f4)5S4FV`B21t=ZS>*-Q?!=p6uo zPw(&B`yBlL->_uzBB9j}?(eTRWZ7ulS#i5l+~wJU7$Zt3t{G?#^8 Yo~gI=MVFTUKqDDEUHx3vIVCg!0HRb-EC2ui literal 0 HcmV?d00001 diff --git a/wp-content/plugins/wordfence/images/forward_disabled.jpg b/wp-content/plugins/wordfence/images/forward_disabled.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f213fb2587b3a630d170d272cf7df4dd0c739e23 GIT binary patch literal 1220 zcmah|Pi)gx7=KO>LrT}iZ6GX6!E;1A4dVA~$8l|uwTY96Y6_H6snb@bx%MkD#eZbG zOWMN@8@ugErXjR}#9=VT2?=TA!a$nF#Bti#E<5aCp0lKXB*Z>n-uwLf zeZTMDiylOe!QMvKS_WWd<_)k5Y+Cd?pzEu~${L`+4&u%O5Is)5(hfsUh0qB&-E@~Q zXSg=(>K^1d1i|5{uBRI-IAoUaDa)y_f8O|xWh}G8E=VoZ@-*DGj;#Cm#QM>BV|~R? zOm^x`=5SZ-+MbO=o$1Gu|&-`m({s?v#&*N6}Degr_BGhqU_?8!1uEWF;^(A*Ttgs~0|4OjER%;{hbGv2Raa}!h z5YFMvG@gqN=GQz7=WyVz`UWQO!hlSA_hO+KNU~AuuCZ!kC!DEQSmNPK%TxtPESDN` zxh}|)Jl{Z7p;=OzvM6b2QmZwp1MZ9ygt}wk0oU5(N-yN9nveC+_2*sp%wT%6Z8vm- zw(Bw435i*-9MkOtabx>=V&D1zn@!)fnO^lO>M+0K>i21m;chSg7a` zI1AFLRB9-d9vVt#M_wMu?#rapnSJ}SvF*=ibHuXweBr>vfkGZaQG{@MyHWJW2t7vc z9v$7Cp~;ua?AepajpuT&=5phxkSA6^2f2xf3GSdIAtXuD(^FeRL^lDw3yguWB*lUR zO(kh6`T;BhDz?q14nTrR?%eK)|E2+zOeA)uHjp%+63H=s^yzEI^}>!Tf7O+{mCx_qE580c%-*_Py!_<;(`&WQ z-uvVN9zXWgyTecD)8}uUV}GT-{`UC7mw$iQ{>WPVhVt*JM8e{TNkfh Ox_-2!{z$(R{rn83GglY@ literal 0 HcmV?d00001 diff --git a/wp-content/plugins/wordfence/images/forward_enabled.jpg b/wp-content/plugins/wordfence/images/forward_enabled.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4295e3c3a59b7f348c7516de0f58edc71adfcf19 GIT binary patch literal 1259 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/wordfence/images/icons/ajaxRed16.gif b/wp-content/plugins/wordfence/images/icons/ajaxRed16.gif new file mode 100644 index 0000000000000000000000000000000000000000..dd8511b1fbd3fdde59c96df51a4a50b4c07704db GIT binary patch literal 1849 zcmb8wdr(tX9tZHtz31lM+(&YVNJFGd2tkvOnD7cwta}qc5LgzdLd#=Gz_5lw4HSfJ z5y=A~$Wtj6t5sXpqG${F7`IyxBQw%=?8>aOJ9W1++F^Ipx?R}a&T6L{H(?egf9yZ| zoAcNCRG-G~7!e$*7;@?sSZV4a}yjdzmQGWEF$Ix^WdCNF3o)zi2KkvOD zx^%-bft^ivdf{I<>Cdl*86Um!bRd6}TfQdS?Q&i!h~atDMMy&6{C7YcIG3K@n|b}G^2Ds}(}=&thCTpnAdKk`=Vo5u|&Q%X}-DQGaI zB|!O#@l!xLnIR+lr@Gy)*@Oo5_zS1&^XI}k(RL(ETyxoLUNS%)@vX?qLDEneo+VOC zRSVzf#G140Qr(VX@pp?`rgQU0GZN!a3M!naNyhT%>fX1yRHotzt>+-hausrqvn{8= zkz#CE!(hRfm0Z3`@?+f5WY)6m3zevU1AV8UU(2~ByEFnQawN4wfZsf4he?8-!nl8Z zsu2;V9$v9uB64PB-P#|ee3DkFfm;bMMVz)=R{OIK?ID%%wZVf& zyXl;vp6+sEn_hofznTjOrqr&qNF2yTM&4SE@>4oD(9HA#lXrnHf3qG z&E}tUc&giCj(CRkLq}s)0eCQ=Edcnn+7EEbNY}DtPDLF`W$cBQVo~=*jE*;Y+?Sy`kS4RHyANo0!cTAR& zaeLV9;4&48+>Lkb^)*~c$A_M0pM**o_upcz0lBwVAwCs)MWga_kZ4tjY^(0%@WxcMS^>Rh6yT@^`ob<`n z^t!2zSh?W#yWiTy48<=a@Js}2;q%!82p0!h0mGm|;-xr>h(D^~XIPTaTIHIB47RK! zqdc)V_TDDriJWssKE8jiSN;Cge+$4-Pez%d)^+0C#?)kK?|qmoO83k~wCf&5T}pIX zF6cC(!|MmGXd(p*FP@nd4}rd$E_+r|7{rVCFqXAp1SS+x_R>OGDK_i@nFx8+;HWewJ$ijKiuR6~DiLSp zZ(1T}aP{PkyP**?gQq9I2%ovVZgD}u7ZLN*6E8{uP4Z%??HIw5IL%NADnJO)Zj>jq zsc60y$G5_fI5~#xU(-;*nx??3S;?lh^t}85HI)tPOF!_|Gl?VSg3_mgj9t+o%pl&*eWxi1to0#cdk+>7aQ*&1X7?zaJH=pKQla$V;VILt)-F jHH~$^ZSlK=u$+fd?^J=oW1HCe*W?rz(4+=FqLum&5Az&z literal 0 HcmV?d00001 diff --git a/wp-content/plugins/wordfence/images/icons/ajaxScan.gif b/wp-content/plugins/wordfence/images/icons/ajaxScan.gif new file mode 100644 index 0000000000000000000000000000000000000000..896b49e55e700c6008620d0f19c99e4054a75f83 GIT binary patch literal 723 zcmZ?wbhEHb6kySalT?`cg9IEm^?z=oHgB2Z3gbGo}TXtMA?3F`tk9iD3Jd zM-C@=^orMA<8oa)%?WBKBeDr935gP{3G-HD%Ct}1ci`5cm2WOB?|uGe@9W(W`Wkas z8?6O9C77TZnUFP_0j=&%)Op;Y!l@+1le{Epk;X~s^ILjf8%Z6Q&U~P0Z}i6#-hz#1 zFJ9gu>^JjJD7Ti#G`~XvP@|ZUjWPuqwS>b}Fodc1u}PAO=fzhx{le!;$6;s zqQx$0gZnSh{xcJcEm@>0S6}Pir8PH55o!_(vPnje@VK@q;+ad}O%h4+E!`rq4S3Z`>^>pC*4uvO+)oGyb2n{(v)C9nWur^pOzP!a(H0A>gMN&o-= literal 0 HcmV?d00001 diff --git a/wp-content/plugins/wordfence/images/icons/ajaxWhite32x32.gif b/wp-content/plugins/wordfence/images/icons/ajaxWhite32x32.gif new file mode 100644 index 0000000000000000000000000000000000000000..3c2f7c058836808f7f1f5f9a4bdf37d4e5f9284a GIT binary patch literal 3208 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/wordfence/images/icons/email_go.png b/wp-content/plugins/wordfence/images/icons/email_go.png new file mode 100644 index 0000000000000000000000000000000000000000..4a6c5d396ad024567a769d1f2285c525bef8c88b GIT binary patch literal 754 zcmV~0d>kmp9&fG9>#5EaEn(MD9Xvl47<{Rb2T3D!0$wpy4@P!Tnn zB0fxQ2!aPL_fZ@!=Wv9zmj8jnf5JO`<=MmZs@#@p z5O*{}9L5B6J+L7ORza<+9h)-B~<&cwIhUkd?cp4is-ziNrfY^u-7xdbFt=#%1534Oi8ajBBo}VZvCxd1 zTu*VtX+~P45)Om?dG5aS`PPW(%?lDPBwaz$6C^$8$_Q#plJTjpbgj;_rYi*?oK~m+ zDD`C->dkZKh0j6|Q^-0bJxIFHnHJOo$@r8{VNIUWU>31rp3@BVvYIZG2D0>Yuj2Y- zg?b?AObc>pK`oG+zkPsr3x_BTWXX8H*w}0@e;@>?SdsP&!-HMidhRn*4VkHi+<58} zTg6ae0~aSoNqRq(^;(g}0#Yiz)&q*YIg-f)mmeJA&3%nD3aJ$X-6L%1+fEQRIeTL* zS5K6|3cOaNtTtBowSZzzj!ZfM7L<|f+jtyp4ccf7mf6J$n}&ALkZlfLEYRoNvtG0Q zzJh|U~_Rdjkv}0kGt_?V}5$?sXN`N zTt|nOa)sx)IIf_-7XW**;!X9`USPjuUUsJrREk)6q*M9ZHEb zl2A!T3LBjrrTx74{FsUNcVA1zw%IWoiGNMw=s9P8>+qh!B*saR2}S literal 0 HcmV?d00001 diff --git a/wp-content/plugins/wordfence/images/icons/error128.png b/wp-content/plugins/wordfence/images/icons/error128.png new file mode 100644 index 0000000000000000000000000000000000000000..122a09ce612c73b6c73b298707cb39d07d9a7b48 GIT binary patch literal 12556 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/wordfence/images/icons/warning128.png b/wp-content/plugins/wordfence/images/icons/warning128.png new file mode 100644 index 0000000000000000000000000000000000000000..79c6d8a2c3e6b3b5f512f022a5f5e54dd242bfcc GIT binary patch literal 11002 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/wordfence/images/lightbox-controls.png b/wp-content/plugins/wordfence/images/lightbox-controls.png new file mode 100644 index 0000000000000000000000000000000000000000..f1ee226ec084727173bcfa9751089b895084ad8b GIT binary patch literal 3230 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 Q{Qv*}07*qoM6N<$g1Xv1#Q*>R literal 0 HcmV?d00001 diff --git a/wp-content/plugins/wordfence/images/loading.gif b/wp-content/plugins/wordfence/images/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..53dd589fa194f5db985e4301c7a73ed4f1b9ad99 GIT binary patch literal 2545 zcma*pX;2hr8VB%~zPqQp=@B)`y1PS96NXtx1_oS2g;AJ+5se@Q;|&UOs2qwM!p4Ca zhJiUal?ExBdstaT~?f3m?cZgNh{frmzMrfcJ8)3 z;P)BJevgQNtw(cfF&90SnBnnr_M&xm@O%6 zzG;!w8(-4o!w_SKEsx_t8i2dHA{$xug+5j_t}~5!rEMsQGpY^uf8#e!ez!6*c<$`# z%2he_t-h<5RT`BLN|GpKWC}6HY^k+5Dom~L=dCyXf!71bXd=Do;)LbM zv+gGZ*&l+=TYuPh^HJ+{Um3v9W8Dqi zZsIDi!j*rKg;1w`oCOc;={#&)!ZF-E-<0u^i2Q3W!xltD%v-T4#;x)CfF(1Ouv)`p z>uUosDu9aCbKX*^H)pSF(Clw+wK}`3LC8Vd5wn~@j##n&8u(Or9|$_$-*q^|8tR^Ze!v`8XRU12fiFxN&Z^HeB_6{>ZFruBWn5U6U_WQI--B zG~o}Ys+mlEb+PC3o7FVVvN+9%m7%O}Y_c3WoYls|wT3|PzzV{wM+0F|$H`%9CT0Y^ za*mZIUl3}$c$+|-?~lU1Lc0B}sn(uvcimZ5#)MR#za@NWsrn^X=yb^$k3_>|w9gkR z>#sW<_Ea0KR$g0dg}fy7K69z6?%wR47d!o@ zGKEctobW(W=VY|Az1{V$NH$hYU5!_r3z~t<1_3#$IhT`+-0m8Lu3WANjbGvNg1vn1 z=E&h$lM^*FtCrg64J+q9{~$Yc&oK@)FJ9|wdu`CBEMKgD->DcQRuxrUW36azX6kqE z(WAIz&9a^4uqfQXZ?4*+k}M^TI=80q9GA}G8+>bb(fyeR`Q-S93>Q-=OX7E#U^f4~jWk3u>uE&r}55)J9D8+*U}{&~xy z+xheT3lqZ$_0RMat&nbp<_ki!f?+E=jik2kBu@#UnX z0AcCVU-1x`*#iFAGPG4?H)8U+YtUJCS?At3FP6 zWjMo76`C~5oga!z%d+xx$x-ljIYP1$9YjNGd0H&jsWL7XsM^)8O;wB>PVnYYXxtSh|$ifidD)RGQ}R zwHJrNIdVjTqdEklY&;>>dZRxDK`F>#B8Ki@pp8f7rwM2mppszvcw{I`Q1%>g09l6Ekr2-S;;<|g2awum zsj!Q?)Pbyi5x+M!F@WFk6jsdhHiry`x0GIzjy;Yj%rtk*Y|Rg9EEqf3wBpTM<@>(0 zk0}s;bd@I0{9$O~|I{qUIC4vLX&EGrCS`%OyAe_n3}9mSiO7}(QE&#Jdx176W`mkS qJBjK|(6Aas*VCO0)PD%QJkkj;=v4CXc=>?~L(zUUU{crc4h8@qAkJEl10~!7q>s;6wwG+ x;Lym#%7w)E5SqaM?W?}pgPY2~zL+0j{rLCv$(}1!-+=Zpc)I$ztaD0e0s!7!I-dXl literal 0 HcmV?d00001 diff --git a/wp-content/plugins/wordfence/images/sort_asc.gif b/wp-content/plugins/wordfence/images/sort_asc.gif new file mode 100644 index 0000000000000000000000000000000000000000..12078b3ddc21fb1cf808a156ef2bcf8b5326e2c2 GIT binary patch literal 52 zcmZ?wbhEHbWMyDxn8?Jyz+eo-|Ns97l8QfB7#SFt7<7Pa29P`h6YG>D@g1=Y)&TzF B2`vBs literal 0 HcmV?d00001 diff --git a/wp-content/plugins/wordfence/images/sort_asc_disabled.gif b/wp-content/plugins/wordfence/images/sort_asc_disabled.gif new file mode 100644 index 0000000000000000000000000000000000000000..34132c3275bbc6da6e06d2ffab946407fb5a9633 GIT binary patch literal 1098 zcmZ?wbhEHbWMyDxXkcVGbLPzd|Nj;Lb4U0FD7Yk+Bm!w0`-+0ZV zOC1Fx149FSLnD0yb6rCND^qhT149KUPy*Ukl#*r@w&$amzVPg@)As;uP=V3xw&xF#U(+h2=`(&xHzP; zAXPsowK%`DC^;3VTp46lft7PnYGO%#QAmD%4lEP{GV)9Ei!<^I6r6)i^$ZolGxJjN z%ZtJ4eSNJw^NLFn^O93NU2K(rCg^2mrdXMqIUBi}I+?f_nOhhdx*Av-n;SS8JG;1= zIa)fInHjQEUIa|mjQ{`r{qy_R&mZ5v zef{$J)5j0*-@SeF`qj%9&!0Vg^7zri2lwyYy>t84%^TORUA=Po(!~qs&z(JU`qar2 z$B!L7a`@1}1N-;w-Lrew&K=vgZQZhY)5ZeMTG_VdAT{+S(zE> zX{jm6Nr?&Zaj`McQIQehVWAmo_rKzE=rmCW>q^KY-Co3Z@B`F~;CMqH&FX#K^#) b_>%=lGBW5e00F4fU|?ePNnqa*%U}%vh;M;q literal 0 HcmV?d00001 diff --git a/wp-content/plugins/wordfence/images/sort_both.gif b/wp-content/plugins/wordfence/images/sort_both.gif new file mode 100644 index 0000000000000000000000000000000000000000..bd1687312f61b56c4bd087fb0112cc0422d4ca3c GIT binary patch literal 57 zcmZ?wbhEHbWMyDyn8?Jyz+eo-|Ns97l8QfB7#SFt7<7Pa29P`h6W5d^@f~xoO>?>+ H!e9*mJsAuP literal 0 HcmV?d00001 diff --git a/wp-content/plugins/wordfence/images/sort_desc.gif b/wp-content/plugins/wordfence/images/sort_desc.gif new file mode 100644 index 0000000000000000000000000000000000000000..03dddb1bdbbb8f0f4e6b9fb43a20a350fb13aea3 GIT binary patch literal 52 zcmZ?wbhEHbWMyDxn8?Jyz+eo-|Ns97l8QfB7#SFt7<7Pa29P`h6KjvIx^y&yH30iV B2w?yK literal 0 HcmV?d00001 diff --git a/wp-content/plugins/wordfence/images/sort_desc_disabled.gif b/wp-content/plugins/wordfence/images/sort_desc_disabled.gif new file mode 100644 index 0000000000000000000000000000000000000000..3a4ee988d60fd1c340e56204f8088357d3699356 GIT binary patch literal 1098 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 LNkvXXu0mjff2n>C literal 0 HcmV?d00001 diff --git a/wp-content/plugins/wordfence/images/wordfenceFalcon.png b/wp-content/plugins/wordfence/images/wordfenceFalcon.png new file mode 100644 index 0000000000000000000000000000000000000000..4d2067fe2c3cbf2a7af1246cf889cb1011b0c770 GIT binary patch literal 6132 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/wordfence/images/wordfenceFalconSmall.png b/wp-content/plugins/wordfence/images/wordfenceFalconSmall.png new file mode 100644 index 0000000000000000000000000000000000000000..66586235875fbce8443af84f8e317e33e4c63a6e GIT binary patch literal 694 zcmV;n0!jUeP)dbVG7wVRUJ4ZXi@?ZDjy5FEKPPF*G8Cc-#O00uM<< zK~zYIoz>Y=6G0RP;19BBSObC(10?VNI^L-lghkduC@2X55-<7;bjCy?r|Pfi>FGYp zf0mi^ewjlJb*y6-Z7idLAs#Wn6%KKX+xRx7Xcnnr5o`F2ZG6EF_QLokR zupj8f^BBJhXR2=)UJFAVbW3Q5(b|;zYiNW+bAkD6{e&APGf~B-Fw%~wH-mvrIJF$c ztN0i!Erh-yE+g6^@*D@alT!6!uq@9~4zKVv_UaP-U5Wmk5-Y3O{ZZ%`WhhI*$S7x` z8j&nv1x;*VD~z{;i4Ca;n{l=gj7+PoN1PgGB4_6a57mgGob&v>8J@pKY7s=4k({N& zc`2V|EM@CiJ7|&&r7memOgBnc#Cl<%l5MU?ly6CC=t?!P?KK_Cp|m=|$&r+XYpF%| zjkoE3>|e*ZnWC&qDeF!^N20qKy84~zUD3lyFYAgzitbp-B5Z`=N_OrJeVm7}fkg9t z?04gSt(SC8LdE1xd2!+%4`_KU$~|cmw<6Mk@hIlw{s(FBJV}Mvl&D?}G&5XFlX9XH z&p4B2!$F|yZ|Zl0wP|VW<05bwxX5rj=~AWiK9s0Gm5S#qQ+63q^uzfgWragG_ diff --git a/wp-content/plugins/wordfence/js/admin.js b/wp-content/plugins/wordfence/js/admin.js new file mode 100644 index 0000000..23a76a4 --- /dev/null +++ b/wp-content/plugins/wordfence/js/admin.js @@ -0,0 +1,1619 @@ +if(! window['wordfenceAdmin']){ //To compile for checking: java -jar /usr/local/bin/closure.jar --js=admin.js --js_output_file=test.js +window['wordfenceAdmin'] = { + loading16: '

', '', '', + '
', '

', '', + '', '', '' ); + + $output = str_replace($search,"\n",$output); + $output = str_replace('2) continue; + } + else $null=0; + $rawdata[]=$val; + } + return $rawdata; + } + + /* + * Open a socket to the whois server. + * + * Returns a socket connection pointer on success, or -1 on failure. + */ + function Connect ($server = '') { + + if ($server == '') + $server = $this->Query['server']; + + // Fail if server not set + if($server == '') + return(-1); + + // Get rid of protocol and/or get port + $port = $this->Query['server_port']; + + $pos = strpos($server,'://'); + + if ($pos !== false) + $server = substr($server, $pos+3); + + $pos = strpos($server,':'); + + if ($pos !== false) + { + $port = substr($server,$pos+1); + $server = substr($server,0,$pos); + } + + // Enter connection attempt loop + $retry = 0; + + while($retry <= $this->RETRY) { + // Set query status + $this->Query['status'] = 'ready'; + + // Connect to whois port + $ptr = @fsockopen($server, $port, $errno, $errstr, $this->STIMEOUT); + + if($ptr > 0) { + $this->Query['status'] = 'ok'; + return($ptr); + } + + // Failed this attempt + $this->Query['status'] = 'error'; + $this->Query['error'][] = $errstr; + $retry++; + + // Sleep before retrying + sleep($this->SLEEP); + } + + // If we get this far, it hasn't worked + return(-1); + } + + /* + * Post-process result with handler class. On success, returns the result + * from the handler. On failure, returns passed result unaltered. + */ + function Process (&$result, $deep_whois=true) { + + $handler_name = str_replace('.','_',$this->Query['handler']); + + // If the handler has not already been included somehow, include it now + $HANDLER_FLAG = sprintf("__%s_HANDLER__", strtoupper($handler_name)); + + if (!defined($HANDLER_FLAG)) + include($this->Query['file']); + + // If the handler has still not been included, append to query errors list and return + if (!defined($HANDLER_FLAG)) + { + $this->Query['errstr'][] = "Can't find $handler_name handler: ".$this->Query['file']; + return($result); + } + + if (!$this->gtld_recurse && $this->Query['file'] == 'whois.gtld.php') + return $result; + + // Pass result to handler + $object = $handler_name.'_handler'; + + $handler = new $object(''); + + // If handler returned an error, append it to the query errors list + if(isSet($handler->Query['errstr'])) + $this->Query['errstr'][] = $handler->Query['errstr']; + + $handler->deep_whois = $deep_whois; + + // Process + $res = $handler->parse($result,$this->Query['query']); + + // Return the result + return $res; + } + + /* + * Does more (deeper) whois ... + */ + + function DeepWhois ($query, $result) { + + if (!isset($result['regyinfo']['whois'])) return $result; + + $this->Query['server'] = $wserver = $result['regyinfo']['whois']; + unset($result['regyinfo']['whois']); + $subresult = $this->GetRawData($query); + + if (!empty($subresult)) + { + $result = $this->set_whois_info($result); + $result['rawdata'] = $subresult; + + if (isset($this->WHOIS_GTLD_HANDLER[$wserver])) + $this->Query['handler'] = $this->WHOIS_GTLD_HANDLER[$wserver]; + else + { + $parts = explode('.',$wserver); + $hname = strtolower($parts[1]); + + if (($fp = @fopen('whois.gtld.'.$hname.'.php', 'r', 1)) and fclose($fp)) + $this->Query['handler'] = $hname; + } + + if (!empty($this->Query['handler'])) + { + $this->Query['file'] = sprintf('whois.gtld.%s.php', $this->Query['handler']); + $regrinfo = $this->Process($subresult); //$result['rawdata']); + $result['regrinfo'] = $this->merge_results($result['regrinfo'], $regrinfo); + //$result['rawdata'] = $subresult; + } + } + + return $result; + } + + /* + * Merge results + */ + + function merge_results($a1, $a2) { + + reset($a2); + + while (list($key, $val) = each($a2)) + { + if (isset($a1[$key])) + { + if (is_array($val)) + { + if ($key != 'nserver') + $a1[$key] = $this->merge_results($a1[$key], $val); + } + else + { + $val = trim($val); + if ($val != '') + $a1[$key] = $val; + } + } + else + $a1[$key] = $val; + } + + return $a1; + } + + function FixNameServer($nserver) + { + $dns = array(); + + foreach($nserver as $val) + { + $val = str_replace( array('[',']','(',')'), '', trim($val)); + $val = str_replace("\t", ' ', $val); + $parts = explode(' ', $val); + $host = ''; + $ip = ''; + + foreach($parts as $p) + { + if (substr($p,-1) == '.') $p = substr($p,0,-1); + + if ((ip2long($p) == - 1) or (ip2long($p) === false)) + { + // Hostname ? + if ($host == '' && preg_match('/^[\w\-]+(\.[\w\-]+)+$/',$p)) + { + $host = $p; + } + } + else + // IP Address + $ip = $p; + } + + // Valid host name ? + + if ($host == '') continue; + + // Get ip address + + if ($ip == '') + { + $ip = gethostbyname($host); + if ($ip == $host) $ip = '(DOES NOT EXIST)'; + } + + if (substr($host,-1,1) == '.') $host = substr($host,0,-1); + + $dns[strtolower($host)] = $ip; + } + + return $dns; + } +} +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.cn.php b/wp-content/plugins/wordfence/lib/whois/whois.cn.php new file mode 100644 index 0000000..9c9a736 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.cn.php @@ -0,0 +1,91 @@ + 'domain.name', + 'Domain Status:' => 'domain.status.', + 'ROID:' => 'domain.handle', + 'Name Server:' => 'domain.nserver.', + 'Registration Date:' => 'domain.created', + 'Expiration Date:' => 'domain.expires', + 'Sponsoring Registrar:' => 'domain.sponsor', + 'Registrant Name:' => 'owner.name', + 'Registrant Organization:' => 'owner.organization', + 'Registrant Address:' => 'owner.address.address', + 'Registrant Postal Code:' => 'owner.address.pcode', + 'Registrant City:' => 'owner.address.city', + 'Registrant Country Code:' => 'owner.address.country', + 'Registrant Email:' => 'owner.email', + 'Registrant Phone Number:' => 'owner.phone', + 'Registrant Fax:' => 'owner.fax', + 'Administrative Name:' => 'admin.name', + 'Administrative Organization:' => 'admin.organization', + 'Administrative Address:' => 'admin.address.address', + 'Administrative Postal Code:' => 'admin.address.pcode', + 'Administrative City:' => 'admin.address.city', + 'Administrative Country Code:' => 'admin.address.country', + 'Administrative Email:' => 'admin.email', + 'Administrative Phone Number:' => 'admin.phone', + 'Administrative Fax:' => 'admin.fax', + 'Technical Name:' => 'tech.name', + 'Technical Organization:' => 'tech.organization', + 'Technical Address:' => 'tech.address.address', + 'Technical Postal Code:' => 'tech.address.pcode', + 'Technical City:' => 'tech.address.city', + 'tec-country:' => 'tech.address.country', + 'Technical Email:' => 'tech.email', + 'Technical Phone Number:' => 'tech.phone', + 'Technical Fax:' => 'tech.fax', + 'Billing Name:' => 'billing.name', + 'Billing Organization:' => 'billing.organization', + 'Billing Address:' => 'billing.address.address', + 'Billing Postal Code:' => 'billing.address.pcode', + 'Billing City:' => 'billing.address.city', + 'Billing Country Code:' => 'billing.address.country', + 'Billing Email:' => 'billing.email', + 'Billing Phone Number:' => 'billing.phone', + 'Billing Fax:' => 'billing.fax' + ); + + $r['regrinfo'] = generic_parser_b($data_str['rawdata'], $items, 'ymd'); + $r['regyinfo'] = array( + 'referrer' => 'http://www.cnnic.net.cn', + 'registrar' => 'China NIC' + ); + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.co.php b/wp-content/plugins/wordfence/lib/whois/whois.co.php new file mode 100644 index 0000000..f7751d7 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.co.php @@ -0,0 +1,43 @@ + \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.co.za.php b/wp-content/plugins/wordfence/lib/whois/whois.co.za.php new file mode 100644 index 0000000..bd73225 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.co.za.php @@ -0,0 +1,73 @@ + 'domain.changed', + '1a. domain :' => 'domain.name', + '2b. registrantpostaladdress:' => 'owner.address.address.0', + '2f. billingaccount :' => 'billing.name', + '2g. billingemail :' => 'billing.email', + '2i. invoiceaddress :' => 'billing.address', + '2j. registrantphone :' => 'owner.phone', + '2k. registrantfax :' => 'owner.fax', + '2l. registrantemail :' => 'owner.email', + '4a. admin :' => 'admin.name', + '4c. admincompany :' => 'admin.organization', + '4d. adminpostaladdr :' => 'admin.address', + '4e. adminphone :' => 'admin.phone', + '4f. adminfax :' => 'admin.fax', + '4g. adminemail :' => 'admin.email', + '5a. tec :' => 'tech.name', + '5c. teccompany :' => 'tech.organization', + '5d. tecpostaladdr :' => 'tech.address', + '5e. tecphone :' => 'tech.phone', + '5f. tecfax :' => 'tech.fax', + '5g. tecemail :' => 'tech.email', + '6a. primnsfqdn :' => 'domain.nserver.0', + '6e. secns1fqdn :' => 'domain.nserver.1', + '6i. secns2fqdn :' => 'domain.nserver.2', + '6m. secns3fqdn :' => 'domain.nserver.3', + '6q. secns4fqdn :' => 'domain.nserver.4' + ); + + $r['regrinfo'] = generic_parser_b($data_str['rawdata'], $items); + + $r['regyinfo']['referrer'] = 'http://www.co.za'; + $r['regyinfo']['registrar'] = 'UniForum Association'; + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.coop.php b/wp-content/plugins/wordfence/lib/whois/whois.coop.php new file mode 100644 index 0000000..f16a7ef --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.coop.php @@ -0,0 +1,106 @@ + 'Contact Type: registrant', + 'admin' => 'Contact Type: admin', + 'tech' => 'Contact Type: tech', + 'billing' => 'Contact Type: billing', + 'domain.name' => 'Domain Name:', + 'domain.handle' => 'Domain ID:', + 'domain.expires' => 'Expiry Date:', + 'domain.created' => 'Created:', + 'domain.changed' => 'Last updated:', + 'domain.status' => 'Domain Status:', + 'domain.sponsor' => 'Sponsoring registrar:', + 'domain.nserver.' => 'Host Name:' + ); + + $translate = array( + 'Contact ID:' => 'handle', + 'Name:' => 'name', + 'Organisation:' => 'organization', + 'Street 1:' => 'address.street.0', + 'Street 2:' => 'address.street.1', + 'Street 3:' => 'address.street.2', + 'City:' => 'address.city', + 'State/Province:' => 'address.state', + 'Postal code:' => 'address.pcode', + 'Country:' => 'address.country', + 'Voice:' => 'phone', + 'Fax:' => 'fax', + 'Email:' => 'email' + ); + + $blocks = get_blocks($data_str['rawdata'],$items); + + $r=array(); + + if (isset($blocks['domain'])) + { + $r['regrinfo']['domain'] = format_dates($blocks['domain'],'dmy'); + $r['regrinfo']['registered'] = 'yes'; + + if (isset($blocks['owner'])) + { + $r['regrinfo']['owner'] = generic_parser_b($blocks['owner'],$translate,'dmy',false); + + if (isset($blocks['tech'])) + $r['regrinfo']['tech'] = generic_parser_b($blocks['tech'],$translate,'dmy',false); + + if (isset($blocks['admin'])) + $r['regrinfo']['admin'] = generic_parser_b($blocks['admin'],$translate,'dmy',false); + + if (isset($blocks['billing'])) + $r['regrinfo']['billing'] = generic_parser_b($blocks['billing'],$translate,'dmy',false); + } + else + { + $r['regrinfo']['owner'] = generic_parser_b($data_str['rawdata'],$translate,'dmy',false); + } + } + else + $r['regrinfo']['registered'] = 'no'; + + $r['regyinfo'] = array( + 'referrer' => 'http://www.nic.coop', + 'registrar' => '.coop registry' + ); + return $r; + } + } +?> diff --git a/wp-content/plugins/wordfence/lib/whois/whois.cz.php b/wp-content/plugins/wordfence/lib/whois/whois.cz.php new file mode 100644 index 0000000..d0367be --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.cz.php @@ -0,0 +1,73 @@ + 'expires', + 'registered' => 'created', + 'nserver' => 'nserver', + 'domain' => 'name', + 'contact' => 'handle', + 'reg-c' => '', + 'descr' => 'desc', + 'e-mail' => 'email', + 'person' => 'name', + 'org' => 'organization', + 'fax-no' => 'fax' + ); + + $contacts = array( + 'admin-c' => 'admin', + 'tech-c' => 'tech', + 'bill-c' => 'billing', + 'registrant' => 'owner' + ); + + $r['regrinfo'] = generic_parser_a($data_str['rawdata'], $translate, $contacts, 'domain', 'dmy'); + + $r['regyinfo'] = array( + 'referrer' => 'http://www.nic.cz', + 'registrar' => 'CZ-NIC' + ); + + if ($data_str['rawdata'][0] == 'Your connection limit exceeded. Please slow down and try again later.') + { + $r['regrinfo']['registered'] = 'unknown'; + } + + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.de.php b/wp-content/plugins/wordfence/lib/whois/whois.de.php new file mode 100644 index 0000000..47645bb --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.de.php @@ -0,0 +1,78 @@ + 'Domain:', + 'domain.nserver.' =>'Nserver:', + 'domain.nserver.#' =>'Nsentry:', + 'domain.status' => 'Status:', + 'domain.changed' => 'Changed:', + 'domain.desc.' => 'Descr:', + 'owner' => '[Holder]', + 'admin' => '[Admin-C]', + 'tech' => '[Tech-C]', + 'zone' => '[Zone-C]' + ); + + $extra = array( + 'city:' => 'address.city', + 'postalcode:' => 'address.pcode', + 'countrycode:' => 'address.country', + 'remarks:' => '', + 'sip:' => 'sip', + 'type:' => '' + ); + + $r['regrinfo'] = easy_parser($data_str['rawdata'], $items, 'ymd',$extra); + + $r['regyinfo'] = array( + 'registrar' => 'DENIC eG', + 'referrer' => 'http://www.denic.de/' + ); + + if (!isset($r['regrinfo']['domain']['status']) || $r['regrinfo']['domain']['status'] == "free") + { + $r['regrinfo']['registered'] = 'no'; + } + else + { + $r['regrinfo']['domain']['changed'] = substr($r['regrinfo']['domain']['changed'], 0, 10); + $r['regrinfo']['registered'] = 'yes'; + } + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.edu.php b/wp-content/plugins/wordfence/lib/whois/whois.edu.php new file mode 100644 index 0000000..22e6d92 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.edu.php @@ -0,0 +1,62 @@ + 'Domain name:', + 'domain.sponsor' => 'Registrar:', + 'domain.nserver' => 'Name Servers:', + 'domain.changed' => 'Domain record last updated:', + 'domain.created' => 'Domain record activated:', + 'owner' => 'Registrant:', + 'admin' => 'Administrative Contact:', + 'tech' => 'Technical Contact:', + 'billing' => 'Billing Contact:' + ); + + $r['regrinfo'] = easy_parser($data_str['rawdata'], $items, 'dmy'); + + if (isset($b['tech'])) + { + if ($r['regrinfo']['tech']['name'] == 'Same as above') + $r['regrinfo']['tech'] = $r['regrinfo']['admin']; + } + + $r['regyinfo']['referrer'] = 'http://whois.educause.net'; + $r['regyinfo']['registrar'] = 'EDUCASE'; + return ($r); + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.eu.php b/wp-content/plugins/wordfence/lib/whois/whois.eu.php new file mode 100644 index 0000000..10627c3 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.eu.php @@ -0,0 +1,85 @@ + 'Domain:', + 'domain.status' => 'Status:', + 'domain.nserver' => 'Name servers:', + 'domain.created' => 'Registered:', + 'domain.registrar' => 'Registrar:', + 'tech' => 'Registrar Technical Contacts:', + 'owner' => 'Registrant:', + '' => 'Please visit' + ); + + $extra = array( + 'organisation:' => 'organization', + 'website:' => 'url' + ); + + $r['regrinfo'] = get_blocks($data['rawdata'], $items); + + if (!empty($r['regrinfo']['domain']['status'])) + switch ($r['regrinfo']['domain']['status']) + { + case 'FREE': + case 'AVAILABLE': + $r['regrinfo']['registered'] = 'no'; + break; + + case 'APPLICATION PENDING': + $r['regrinfo']['registered'] = 'pending'; + break; + + default: + $r['regrinfo']['registered'] = 'unknown'; + } + else + $r['regrinfo']['registered'] = 'yes'; + + if (isset($r['regrinfo']['tech'])) + $r['regrinfo']['tech'] = get_contact($r['regrinfo']['tech'],$extra); + + if (isset($r['regrinfo']['domain']['registrar'])) + $r['regrinfo']['domain']['registrar'] = get_contact($r['regrinfo']['domain']['registrar'],$extra); + + $r['regyinfo']['referrer'] = 'http://www.eurid.eu'; + $r['regyinfo']['registrar'] = 'EURID'; + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.fi.php b/wp-content/plugins/wordfence/lib/whois/whois.fi.php new file mode 100644 index 0000000..a94d202 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.fi.php @@ -0,0 +1,57 @@ + 'domain.name', + 'created:' => 'domain.created', + 'expires:' => 'domain.expires', + 'status:' => 'domain.status', + 'nserver:' => 'domain.nserver.', + 'descr:' => 'owner.name.', + 'address:' => 'owner.address.', + 'phone:' => 'owner.phone', + ); + + $r['regrinfo'] = generic_parser_b($data_str['rawdata'], $items); + + $r['regyinfo'] = array( + 'referrer' => 'https://domain.ficora.fi/', + 'registrar' => 'Finnish Communications Regulatory Authority' + ); + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.fj.php b/wp-content/plugins/wordfence/lib/whois/whois.fj.php new file mode 100644 index 0000000..c059954 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.fj.php @@ -0,0 +1,67 @@ + 'Registrant:', + 'domain.status' => 'Status:', + 'domain.expires' => 'Expires:', + 'domain.nserver' => 'Domain servers:' + ); + + $r['regrinfo'] = get_blocks($data_str['rawdata'], $items); + + if (!empty($r['regrinfo']['domain']['status'])) + { + $r['regrinfo'] = get_contacts($r['regrinfo']); + + date_default_timezone_set("Pacific/Fiji"); + + if (isset($r['regrinfo']['domain']['expires'])) + $r['regrinfo']['domain']['expires'] = strftime("%Y-%m-%d",strtotime($r['regrinfo']['domain']['expires'])); + + $r['regrinfo']['registered'] = 'yes'; + } + else + $r['regrinfo']['registered'] = 'no'; + + $r['regyinfo'] = array( + 'referrer' => 'http://www.domains.fj', + 'registrar' => 'FJ Domain Name Registry' + ); + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.fm.php b/wp-content/plugins/wordfence/lib/whois/whois.fm.php new file mode 100644 index 0000000..0e34f0a --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.fm.php @@ -0,0 +1,80 @@ + 'Registrant', + 'admin' => 'Admin', + 'tech' => 'Technical', + 'billing' => 'Billing', + 'domain.nserver' => 'Name Servers:', + 'domain.created' => 'Created:', + 'domain.expires' => 'Expires:', + 'domain.changed' => 'Modified:', + 'domain.status' => 'Status:', + 'domain.sponsor' => 'Registrar Name:' + ); + + $r['regrinfo'] = get_blocks($data['rawdata'], $items); + + $items = array( + 'phone number:' => 'phone', + 'email address:' => 'email', + 'fax number:' => 'fax', + 'organisation:' => 'organization' + ); + + if (!empty($r['regrinfo']['domain']['created'])) + { + $r['regrinfo'] = get_contacts($r['regrinfo'],$items); + + if (count($r['regrinfo']['billing']['address']) > 4) + $r['regrinfo']['billing']['address'] = array_slice($r['regrinfo']['billing']['address'],0,4); + + $r['regrinfo']['registered'] = 'yes'; + format_dates($r['regrinfo']['domain'],'dmY'); + } + else + { + $r = ''; + $r['regrinfo']['registered'] = 'no'; + } + + $r['regyinfo']['referrer'] = 'http://www.dot.dm'; + $r['regyinfo']['registrar'] = 'dotFM'; + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.fr.php b/wp-content/plugins/wordfence/lib/whois/whois.fr.php new file mode 100644 index 0000000..9854248 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.fr.php @@ -0,0 +1,78 @@ + 'fax', + 'e-mail' => 'email', + 'nic-hdl' => 'handle', + 'ns-list' => 'handle', + 'person' => 'name', + 'address' => 'address.', + 'descr' => 'desc', + 'anniversary' => '', + 'domain' => '', + 'last-update' => 'changed', + 'registered' => 'created', + 'country' => 'address.country', + 'registrar' => 'sponsor', + 'role' => 'organization' + ); + + $contacts = array( + 'admin-c' => 'admin', + 'tech-c' => 'tech', + 'zone-c' => 'zone', + 'holder-c' => 'owner', + 'nsl-id' => 'nserver' + ); + + $reg = generic_parser_a($data_str['rawdata'], $translate, $contacts, 'domain','dmY'); + + if (isset($reg['nserver'])) + { + $reg['domain'] = array_merge($reg['domain'],$reg['nserver']); + unset($reg['nserver']); + } + + $r['regrinfo'] = $reg; + $r['regyinfo'] = array( + 'referrer' => 'http://www.nic.fr', + 'registrar' => 'AFNIC' + ); + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.gtld.afternic.php b/wp-content/plugins/wordfence/lib/whois/whois.gtld.afternic.php new file mode 100644 index 0000000..94ffe26 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.gtld.afternic.php @@ -0,0 +1,51 @@ + 'Registrant:', + 'admin' => 'Administrative Contact', + 'tech' => 'Technical Contact', + 'zone' => 'Zone Contact', + 'domain.name' => 'Domain Name:', + 'domain.changed' => 'Last updated on', + 'domain.created' => 'Domain created on', + 'domain.expires' => 'Domain expires on' + ); + + return easy_parser($data_str, $items, 'dmy', false, false, true); + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.gtld.alldomains.php b/wp-content/plugins/wordfence/lib/whois/whois.gtld.alldomains.php new file mode 100644 index 0000000..01c7728 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.gtld.alldomains.php @@ -0,0 +1,49 @@ + 'Registrant:', + 'admin' => 'Administrative', + 'tech' => 'Technical', + 'domain.name' => 'Domain name:', + 'domain.sponsor' => 'Registrar:', + 'domain.nserver.' => 'Domain servers in listed order:' + ); + + return easy_parser($data_str, $items, 'ymd'); + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.gtld.ascio.php b/wp-content/plugins/wordfence/lib/whois/whois.gtld.ascio.php new file mode 100644 index 0000000..44fc19f --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.gtld.ascio.php @@ -0,0 +1,51 @@ + 'Registrant:', + 'admin' => 'Administrative ', + 'tech' => 'Technical ', + 'domain.name' => 'Domain name:', + 'domain.nserver.' => 'Domain servers in listed order:', + 'domain.created' => 'Record created:', + 'domain.expires' => 'Record expires:', + 'domain.changed' => 'Record last updated:' + ); + + return easy_parser($data_str, $items, 'ymd',false,false,true); + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.gtld.assorted.php b/wp-content/plugins/wordfence/lib/whois/whois.gtld.assorted.php new file mode 100644 index 0000000..a6e30f6 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.gtld.assorted.php @@ -0,0 +1,51 @@ + 'Registrant:', + 'admin' => 'Administrative Contact:', + 'tech' => 'Technical Contact:', + 'domain.name' => 'Domain Name:', + 'domain.nserver.' => 'Domain servers in listed order:', + 'domain.created' => 'Record created on', + 'domain.expires' => 'Record expires on', + 'domain.changed' => 'Record last updated' + ); + + return easy_parser($data_str, $items, 'ymd',false,false,true); + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.gtld.corporatedomains.php b/wp-content/plugins/wordfence/lib/whois/whois.gtld.corporatedomains.php new file mode 100644 index 0000000..ad229d7 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.gtld.corporatedomains.php @@ -0,0 +1,53 @@ + 'Registrant:', + 'admin' => 'Administrative Contact', + 'tech' => 'Technical Contact', + 'zone' => 'Zone Contact', + 'domain.name' => 'Domain Name:', + 'domain.changed' => 'Last updated on', + 'domain.created' => 'Domain created on', + 'domain.expires' => 'Domain expires on', + 'domain.sponsor' => 'Registrar Name....:', + 'domain.nserver' => 'DNS Servers:' + ); + + return easy_parser($data_str, $items, 'dmy', false, false, true); + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.gtld.directnic.php b/wp-content/plugins/wordfence/lib/whois/whois.gtld.directnic.php new file mode 100644 index 0000000..511755e --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.gtld.directnic.php @@ -0,0 +1,53 @@ + 'Registrant:', + 'admin' => 'Administrative Contact', + 'tech' => 'Technical Contact', + 'domain.name' => 'Domain Name:', + 'domain.sponsor' => 'Registration Service Provider:', + 'domain.nserver' => 'Domain servers in listed order:', + 'domain.changed' => 'Record last updated ', + 'domain.created' => 'Record created on ', + 'domain.expires' => 'Record expires on ', + '' => 'By submitting a WHOIS query' + ); + + return easy_parser($data_str, $items, 'mdy',false,false,true); + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.gtld.domaindiscover.php b/wp-content/plugins/wordfence/lib/whois/whois.gtld.domaindiscover.php new file mode 100644 index 0000000..00f3d0f --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.gtld.domaindiscover.php @@ -0,0 +1,51 @@ + 'Registrant:', + 'admin' => 'Administrative Contact', + 'tech' => 'Technical Contact', + 'zone' => 'Zone Contact', + 'domain.name' => 'Domain Name:', + 'domain.changed' => 'Last updated on', + 'domain.created' => 'Domain created on', + 'domain.expires' => 'Domain expires on' + ); + + return easy_parser($data_str, $items, 'dmy', false, false, true); + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.gtld.domainpeople.php b/wp-content/plugins/wordfence/lib/whois/whois.gtld.domainpeople.php new file mode 100644 index 0000000..c9ee5c3 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.gtld.domainpeople.php @@ -0,0 +1,59 @@ + 'Registrant Contact:', + 'admin' => 'Administrative Contact:', + 'tech' => 'Technical Contact:', + 'domain.name' => 'Domain name:', + 'domain.sponsor' => 'Registration Service Provided By:', + 'domain.referrer' => 'Contact:', + 'domain.nserver.' => 'Name Servers:', + 'domain.created' => 'Creation date:', + 'domain.expires' => 'Expiration date:', +// 'domain.changed' => 'Record last updated on', + 'domain.status' => 'Status:' + ); + + $r = easy_parser($data_str, $items, 'dmy', false, false, true); + if (isset($r['domain']['sponsor']) && is_array($r['domain']['sponsor'])) + $r['domain']['sponsor'] = $r['domain']['sponsor'][0]; + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.gtld.dotster.php b/wp-content/plugins/wordfence/lib/whois/whois.gtld.dotster.php new file mode 100644 index 0000000..eec492a --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.gtld.dotster.php @@ -0,0 +1,53 @@ + 'Registrant:', + 'admin' => 'Administrative', + 'tech' => 'Technical', + 'domain.nserver' => + 'Domain servers in listed order:', + 'domain.name' => 'Domain name:', + 'domain.created' => 'Created on:', + 'domain.expires' => 'Expires on:', + 'domain.changed' => 'Last Updated on:', + 'domain.sponsor' => 'Registrar:' + ); + + return easy_parser($data_str, $items, 'dmy'); + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.gtld.dreamhost.php b/wp-content/plugins/wordfence/lib/whois/whois.gtld.dreamhost.php new file mode 100644 index 0000000..38455cd --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.gtld.dreamhost.php @@ -0,0 +1,54 @@ + 'Registrant Contact:', + 'admin' => 'Administrative Contact:', + 'tech' => 'Technical Contact:', + 'billing' => 'Billing Contact:', + 'domain.name' => 'Domain Name:', + 'domain.nserver' => 'Domain servers in listed order:', + 'domain.created' => 'Record created on', + 'domain.expires' => 'Record expires on' + ); + + $r = easy_parser($data_str, $items, 'dmy', false, false, true); + if (isset($r['domain']['sponsor']) && is_array($r['domain']['sponsor'])) + $r['domain']['sponsor'] = $r['domain']['sponsor'][0]; + return $r; + } + } +?> diff --git a/wp-content/plugins/wordfence/lib/whois/whois.gtld.enom.php b/wp-content/plugins/wordfence/lib/whois/whois.gtld.enom.php new file mode 100644 index 0000000..0510bcc --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.gtld.enom.php @@ -0,0 +1,62 @@ + 'Registrant Contact', + 'owner#1' => 'REGISTRANT Contact:', + 'admin#0' => 'Administrative Contact', + 'admin#1' => 'ADMINISTRATIVE Contact:', + 'tech#0' => 'Technical Contact', + 'tech#1' => 'TECHNICAL Contact:', + 'billing#0' => 'Billing Contact', + 'billing#1' => 'BILLING Contact:', + 'domain.nserver' => 'Nameservers', + 'domain.name#0' => 'Domain name:', + 'domain.name#1' => 'Domain name-', + 'domain.sponsor' => 'Registration Service Provided By:', + 'domain.status' => 'Status:', + 'domain.created#0' => 'Creation date:', + 'domain.expires#0' => 'Expiration date:', + 'domain.created#1' => 'Created:', + 'domain.expires#1' => 'Expires:', + 'domain.created#2' => 'Start of registration-', + 'domain.expires#2' => 'Registered through-' + ); + + return easy_parser($data_str, $items, 'dmy', false, false, true); + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.gtld.fabulous.php b/wp-content/plugins/wordfence/lib/whois/whois.gtld.fabulous.php new file mode 100644 index 0000000..d7094b8 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.gtld.fabulous.php @@ -0,0 +1,54 @@ + 'Domain '.$query.':', + 'admin' => 'Administrative contact:', + 'tech' => 'Technical contact:', + 'billing' => 'Billing contact:', + '' => 'Record dates:' + ); + + $r = easy_parser($data_str, $items, 'mdy',false,false,true); + + if (!isset($r['tech'])) $r['tech'] = $r['billing']; + + if (!isset($r['admin'])) $r['admin'] = $r['tech']; + + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.gtld.fastdomain.php b/wp-content/plugins/wordfence/lib/whois/whois.gtld.fastdomain.php new file mode 100644 index 0000000..819083c --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.gtld.fastdomain.php @@ -0,0 +1,78 @@ + 'Registrant Info:', + 'admin' => 'Administrative Info:', + 'tech' => 'Technical Info:', + 'domain.name' => 'Domain Name:', + 'domain.sponsor' => 'Provider Name....:', + 'domain.referrer' => 'Provider Homepage:', + 'domain.nserver' => 'Domain servers in listed order:', + 'domain.created' => 'Created on..............:', + 'domain.expires' => 'Expires on..............:', + 'domain.changed' => 'Last modified on........:', + 'domain.status' => 'Status:' + ); + + while (list($key, $val) = each($data_str)) + { + $faststr = strpos($val, ' (FAST-'); + if ($faststr) + $data_str[$key] = substr($val, 0, $faststr); + } + + $r = easy_parser($data_str, $items, 'dmy', false, false, true); + + if (isset($r['domain']['sponsor']) && is_array($r['domain']['sponsor'])) + + $r['domain']['sponsor'] = $r['domain']['sponsor'][0]; + + if (isset($r['domain']['nserver'])) + { + reset($r['domain']['nserver']); + $endnserver = false; + while (list($key, $val) = each($r['domain']['nserver'])) + { + if ($val == '=-=-=-=') + unset($r['domain']['nserver'][$key]); + } + } + + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.gtld.gandi.php b/wp-content/plugins/wordfence/lib/whois/whois.gtld.gandi.php new file mode 100644 index 0000000..bb513db --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.gtld.gandi.php @@ -0,0 +1,56 @@ + 'owner-c', + 'admin' => 'admin-c', + 'tech' => 'tech-c', + 'billing' => 'bill-c' + ); + + $trans = array( + 'nic-hdl:' => 'handle', + 'person:' => 'name', + 'zipcode:' => 'address.pcode', + 'city:' => 'address.city', + 'lastupdated:' => 'changed', + 'owner-name:' => '' + ); + + return easy_parser($data_str, $items, 'dmy', $trans); + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.gtld.genericb.php b/wp-content/plugins/wordfence/lib/whois/whois.gtld.genericb.php new file mode 100644 index 0000000..9c240f0 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.gtld.genericb.php @@ -0,0 +1,40 @@ + \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.gtld.godaddy.php b/wp-content/plugins/wordfence/lib/whois/whois.gtld.godaddy.php new file mode 100644 index 0000000..5ede66a --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.gtld.godaddy.php @@ -0,0 +1,56 @@ + 'Registrant:', + 'admin' => 'Administrative Contact', + 'tech' => 'Technical Contact', + 'domain.name' => 'Domain Name:', + 'domain.nserver.' => 'Domain servers in listed order:', + 'domain.created' => 'Created on:', + 'domain.expires' => 'Expires on:', + 'domain.changed' => 'Last Updated on:', + 'domain.sponsor' => 'Registered through:' + ); + + $r = get_blocks($data_str, $items); + $r['owner'] = get_contact($r['owner']); + $r['admin'] = get_contact($r['admin'],false,true); + $r['tech'] = get_contact($r['tech'],false,true); + return format_dates($r, 'dmy'); + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.gtld.iana.php b/wp-content/plugins/wordfence/lib/whois/whois.gtld.iana.php new file mode 100644 index 0000000..3f8694f --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.gtld.iana.php @@ -0,0 +1,51 @@ + 'contact: administrative', + 'tech' => 'contact: technical', + 'domain.nserver.' => 'nserver:', + 'domain.created' => 'created:', + 'domain.changed' => 'changed:', + 'domain.source' => 'source:', + 'domain.name' => 'domain:', + 'disclaimer.' => '% ' + ); + + return easy_parser($data_str,$items,'Ymd',false,false,false,'owner'); + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.gtld.interdomain.php b/wp-content/plugins/wordfence/lib/whois/whois.gtld.interdomain.php new file mode 100644 index 0000000..1197b87 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.gtld.interdomain.php @@ -0,0 +1,80 @@ + 'domain.name', + 'Creation Date............' => 'domain.created', + 'Expiry Date..............' => 'domain.expires', + 'Last Update Date.........' => 'domain.changed', + 'Name Server.............' => 'domain.nserver.', + 'Organization Name........' => 'owner.name', + 'Organization Org.........' => 'owner.organization', + 'Organization Street......' => 'owner.address.street', + 'Organization City........' => 'owner.address.city', + 'Organization State.......' => 'owner.address.state', + 'Organization PC..........' => 'owner.address.pcode', + 'Organization Country.....' => 'owner.address.country', + 'Organization Phone.......' => 'owner.phone', + 'Organization e-mail......' => 'owner.email', + 'Organization Contact Id....' => 'owner.handle', + 'Administrative Contact Id..' => 'admin.handle', + 'Administrative Name......' => 'admin.name', + 'Administrative Org.......' => 'admin.organization', + 'Administrative Street....' => 'admin.address.street', + 'Administrative City......' => 'admin.address.city', + 'Administrative State.....' => 'admin.address.state', + 'Administrative PC........' => 'admin.address.pcode', + 'Administrative Country...' => 'admin.address.country', + 'Administrative Phone.....' => 'admin.phone', + 'Administrative e-mail....' => 'admin.email', + 'Administrative Fax.......' => 'admin.fax', + 'Technical Contact Id.......' => 'tech.handle', + 'Technical Name...........' => 'tech.name', + 'Technical Org............' => 'tech.organization', + 'Technical Street.........' => 'tech.address.street', + 'Technical City...........' => 'tech.address.city', + 'Technical State..........' => 'tech.address.state', + 'Technical PC.............' => 'tech.address.pcode', + 'Technical Country........' => 'tech.address.country', + 'Technical Phone..........' => 'tech.phone', + 'Technical e-mail.........' => 'tech.email', + 'Technical Fax............' => 'tech.fax' + ); + + return generic_parser_b($data_str, $items, 'dmy'); + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.gtld.itsyourdomain.php b/wp-content/plugins/wordfence/lib/whois/whois.gtld.itsyourdomain.php new file mode 100644 index 0000000..7d20253 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.gtld.itsyourdomain.php @@ -0,0 +1,52 @@ + 'Registrant', + 'admin' => 'Administrative', + 'tech' => 'Technical', + 'billing' => 'Billing', + 'domain.name' => 'Domain:', + 'domain.nserver.' => 'Domain Name Servers:', + 'domain.created' => 'Record created on ', + 'domain.expires' => 'Record expires on ', + 'domain.changed' => 'Record last updated on ' + ); + + return easy_parser($data_str, $items, 'mdy'); + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.gtld.joker.php b/wp-content/plugins/wordfence/lib/whois/whois.gtld.joker.php new file mode 100644 index 0000000..9168e90 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.gtld.joker.php @@ -0,0 +1,78 @@ + 'handle', + 'modified' => 'changed', + 'reseller' => 'sponsor', + 'address' => 'address.street', + 'postal-code' => 'address.pcode', + 'city' => 'address.city', + 'state' => 'address.state', + 'country' => 'address.country', + 'person' => 'name', + 'domain' => 'name' + ); + + $contacts = array( + 'admin-c' => 'admin', + 'tech-c' => 'tech', + 'billing-c' => 'billing' + ); + + $items = array( + 'owner' => 'name', + 'organization' => 'organization', + 'email' => 'email', + 'phone' => 'phone', + 'address' => 'address', + ); + + $r = generic_parser_a($data_str, $translate, $contacts, 'domain', 'Ymd'); + + foreach($items as $tag => $convert) + { + if (isset($r['domain'][$tag])) + { + $r['owner'][$convert] = $r['domain'][$tag]; + unset($r['domain'][$tag]); + } + } + + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.gtld.markmonitor.php b/wp-content/plugins/wordfence/lib/whois/whois.gtld.markmonitor.php new file mode 100644 index 0000000..f43cf18 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.gtld.markmonitor.php @@ -0,0 +1,55 @@ + 'Registrant:', + 'admin' => 'Administrative Contact:', + 'tech' => 'Technical Contact, Zone Contact:', + 'domain.name' => 'Domain Name:', + 'domain.sponsor' => 'Registrar Name:', + 'domain.nserver' => 'Domain servers in listed order:', + 'domain.created' => 'Created on..............:', + 'domain.expires' => 'Expires on..............:', + 'domain.changed' => 'Record last updated on..:' + ); + + $r = easy_parser($data_str, $items, 'dmy', false, false, true); + if (isset($r['domain']['sponsor']) && is_array($r['domain']['sponsor'])) + $r['domain']['sponsor'] = $r['domain']['sponsor'][0]; + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.gtld.melbourneit.php b/wp-content/plugins/wordfence/lib/whois/whois.gtld.melbourneit.php new file mode 100644 index 0000000..bbddd4c --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.gtld.melbourneit.php @@ -0,0 +1,59 @@ + 'domain.name', + 'Registration Date....' => 'domain.created', + 'Expiry Date..........' => 'domain.expires', + 'Organisation Name....' => 'owner.name', + 'Organisation Address.' => 'owner.address.', + 'Admin Name...........' => 'admin.name', + 'Admin Address........' => 'admin.address.', + 'Admin Email..........' => 'admin.email', + 'Admin Phone..........' => 'admin.phone', + 'Admin Fax............' => 'admin.fax', + 'Tech Name............' => 'tech.name', + 'Tech Address.........' => 'tech.address.', + 'Tech Email...........' => 'tech.email', + 'Tech Phone...........' => 'tech.phone', + 'Tech Fax.............' => 'tech.fax', + 'Name Server..........' => 'domain.nserver.' + ); + + return generic_parser_b($data_str, $items, 'ymd'); + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.gtld.moniker.php b/wp-content/plugins/wordfence/lib/whois/whois.gtld.moniker.php new file mode 100644 index 0000000..0824f9e --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.gtld.moniker.php @@ -0,0 +1,52 @@ + 'Registrant', + 'admin' => 'Administrative ', + 'tech' => 'Technical ', + 'billing' => 'Billing ', + 'domain.name' => 'Domain Name:', + 'domain.nserver.' => 'Domain servers in listed order:', + 'domain.created' => 'Record created on: ', + 'domain.expires' => 'Domain Expires on: ', + 'domain.changed' => 'Database last updated on: ' + ); + + return easy_parser($data_str, $items, 'ymd'); + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.gtld.namejuice.php b/wp-content/plugins/wordfence/lib/whois/whois.gtld.namejuice.php new file mode 100644 index 0000000..7bf898f --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.gtld.namejuice.php @@ -0,0 +1,53 @@ + 'Registrant Contact:', + 'admin' => 'Administrative Contact:', + 'tech' => 'Technical Contact:', + 'domain.name' => 'Domain name:', + 'domain.nserver.' => 'Name Servers:', + 'domain.created' => 'Creation date:', + 'domain.expires' => 'Expiration date:', + 'domain.changed' => 'Update date:', + 'domain.status' => 'Status:', + 'domain.sponsor' => 'Registration Service Provided By:' + ); + + return easy_parser($data_str, $items, 'dmy', false, true, true); + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.gtld.nameking.php b/wp-content/plugins/wordfence/lib/whois/whois.gtld.nameking.php new file mode 100644 index 0000000..49680a1 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.gtld.nameking.php @@ -0,0 +1,70 @@ + 'Registrant', + 'admin' => 'Admin Contact', + 'tech' => 'Tech Contact', + 'billing' => 'Billing Contact', + 'domain.sponsor' => 'Registration Provided By:', + 'domain.created' => 'Creation Date:', + 'domain.expires' => 'Expiration Date:', + ); + + $extra = array( + 'tel--' => 'phone', + 'tel:' => 'phone', + 'tel --:' => 'phone', + 'email-:' => 'email', + 'email:' => 'email', + 'mail:' => 'email', + 'name--' => 'name', + 'org:' => 'organization', + 'zipcode:' => 'address.pcode', + 'postcode:' => 'address.pcode', + 'address:' => 'address.street', + 'city:' => 'address.city', + 'province:' => 'address.city.', + ',province:' => '', + ',country:' => 'address.country', + 'organization:' => 'organization', + 'city, province, post code:' => 'address.city' + ); + + return easy_parser($data_str, $items, 'mdy', $extra, false, true); + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.gtld.names4ever.php b/wp-content/plugins/wordfence/lib/whois/whois.gtld.names4ever.php new file mode 100644 index 0000000..3cd046e --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.gtld.names4ever.php @@ -0,0 +1,54 @@ + 'Registrant:', + 'admin' => 'Administrative Contact', + 'tech' => 'Technical Contact', + 'domain.name' => 'Domain Name:', + 'domain.sponsor' => 'Registrar Name....:', + 'domain.referrer' => 'Registrar Homepage:', + 'domain.nserver' => 'DNS Servers:', + 'domain.created' => 'Record created on', + 'domain.expires' => 'Record expires on', + 'domain.changed' => 'Record last updated on', + 'domain.status' => 'Domain status:' + ); + + return easy_parser($data_str, $items, 'dmy', false, false, true); + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.gtld.namevault.php b/wp-content/plugins/wordfence/lib/whois/whois.gtld.namevault.php new file mode 100644 index 0000000..a8199cf --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.gtld.namevault.php @@ -0,0 +1,52 @@ + 'Registrant', + 'admin' => 'Administrative Contact:', + 'tech' => 'Technical Contact:', + 'billing' => 'Billing Contact:', + 'domain.name' => 'Domain Name:', + 'domain.nserver.' => 'Name Servers', + 'domain.created' => 'Creation Date:', + 'domain.expires' => 'Expiration Date:', + 'domain.status' => 'Status:' + ); + + return easy_parser($data_str, $items, 'dmy', false, true, true); + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.gtld.networksolutions.php b/wp-content/plugins/wordfence/lib/whois/whois.gtld.networksolutions.php new file mode 100644 index 0000000..c5ec38f --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.gtld.networksolutions.php @@ -0,0 +1,50 @@ + 'Registrant:', + 'admin' => 'Administrative Contact', + 'tech' => 'Technical Contact', + 'domain.name' => 'Domain Name:', + 'domain.nserver.' => 'Domain servers in listed order:', + 'domain.created' => 'Record created on', + 'domain.expires' => 'Record expires on' + ); + + return easy_parser($data_str, $items, 'dmy',false,true,true); + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.gtld.nicco.php b/wp-content/plugins/wordfence/lib/whois/whois.gtld.nicco.php new file mode 100644 index 0000000..dc1fd4b --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.gtld.nicco.php @@ -0,0 +1,62 @@ + 'Holder Contact', + 'admin' => 'Admin Contact', + 'tech' => 'Tech. Contact', + 'domain.nserver.' => 'Nameservers', + 'domain.created' => 'Creation Date:', + 'domain.expires' => 'Expiration Date:' + ); + + $translate = array( + 'city:' => 'address.city', + 'org. name:' => 'organization', + 'address1:' => 'address.street.', + 'address2:' => 'address.street.', + 'state:' => 'address.state', + 'postal code:' => 'address.zip' + ); + + $r = get_blocks($data_str, $items, true); + $r['owner'] = get_contact($r['owner'],$translate); + $r['admin'] = get_contact($r['admin'],$translate,true); + $r['tech'] = get_contact($r['tech'],$translate,true); + return format_dates($r, 'dmy'); + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.gtld.nicline.php b/wp-content/plugins/wordfence/lib/whois/whois.gtld.nicline.php new file mode 100644 index 0000000..77bbbfd --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.gtld.nicline.php @@ -0,0 +1,51 @@ + 'Registrant:', + 'admin' => 'Administrative contact:', + 'tech' => 'Technical contact:', + 'domain.name' => 'Domain name:', + 'domain.nserver.' => 'Domain servers in listed order:', + 'domain.created' => 'Created:', + 'domain.expires' => 'Expires:', + 'domain.changed' => 'Last updated:' + ); + + return easy_parser($data_str, $items, 'dmy'); + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.gtld.onlinenic.php b/wp-content/plugins/wordfence/lib/whois/whois.gtld.onlinenic.php new file mode 100644 index 0000000..8bfe88d --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.gtld.onlinenic.php @@ -0,0 +1,83 @@ + 'Registrant:', + 'admin' => 'Administrator:', + 'tech' => 'Technical Contactor:', + 'billing' => 'Billing Contactor:', + 'domain.name' => 'Domain name:', + 'domain.name#' => 'Domain Name:', + 'domain.nserver' => 'Domain servers in listed order:', + 'domain.created' => 'Record created on ', + 'domain.expires' => 'Record expired on ', + 'domain.changed' => 'Record last updated at ' + ); + + $extra = array( + 'tel--' => 'phone', + 'tel:' => 'phone', + 'tel --:' => 'phone', + 'email-:' => 'email', + 'email:' => 'email', + 'mail:' => 'email', + 'name--' => 'name', + 'org:' => 'organization', + 'zipcode:' => 'address.pcode', + 'postcode:' => 'address.pcode', + 'address:' => 'address.street', + 'city:' => 'address.city', + 'province:' => '', + ',province:' => '', + ',country:' => 'address.country' + ); + + $r = easy_parser($data_str, $items, 'mdy',$extra,false,true); + + foreach($r as $key => $part) + if (isset($part['email'])) + { + @list($email,$phone) = explode(' ',$part['email']); + $email = str_replace('(','',$email); + $email = str_replace(')','',$email); + $r[$key]['email'] = $email; + if ($phone != '') $r[$key]['phone'] = $phone; + } + + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.gtld.opensrs.php b/wp-content/plugins/wordfence/lib/whois/whois.gtld.opensrs.php new file mode 100644 index 0000000..cdf21a5 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.gtld.opensrs.php @@ -0,0 +1,58 @@ + 'Registrant:', + 'admin' => 'Administrative Contact', + 'tech' => 'Technical Contact', + 'domain.name' => 'Domain name:', + '' => 'Registration Service Provider:', + 'domain.nserver' => 'Domain servers in listed order:', + 'domain.changed' => 'Record last updated on', + 'domain.created' => 'Record created on', + 'domain.expires' => 'Record expires on', + 'domain.sponsor' => 'Registrar of Record:' + ); + + $r = easy_parser($data_str, $items, 'dmy', false, false, true); + + if (isset($r['domain']['sponsor']) && is_array($r['domain']['sponsor'])) + $r['domain']['sponsor'] = $r['domain']['sponsor'][0]; + + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.gtld.ovh.php b/wp-content/plugins/wordfence/lib/whois/whois.gtld.ovh.php new file mode 100644 index 0000000..df6ee71 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.gtld.ovh.php @@ -0,0 +1,51 @@ + 'Registrant:', + 'admin' => 'Administrative Contact:', + 'tech' => 'Technical Contact:', + 'billing' => 'Billing Contact:', + 'domain.sponsor' => 'Registrar of Record:', + 'domain.changed' => 'Record last updated on', + 'domain.expires' => 'Record expires on', + 'domain.created' => 'Record created on' + ); + + return easy_parser($data_str, $items, 'mdy',false,false,true); + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.gtld.php b/wp-content/plugins/wordfence/lib/whois/whois.gtld.php new file mode 100644 index 0000000..0f6db38 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.gtld.php @@ -0,0 +1,81 @@ + 'regrinfo.domain.name', + 'Registrar:' => 'regyinfo.registrar', + 'Whois Server:' => 'regyinfo.whois', + 'Referral URL:' => 'regyinfo.referrer', + 'Name Server:' => 'regrinfo.domain.nserver.', // identical descriptors + 'Updated Date:' => 'regrinfo.domain.changed', + 'Last Updated On:' => 'regrinfo.domain.changed', + 'EPP Status:' => 'regrinfo.domain.epp_status.', + 'Status:' => 'regrinfo.domain.status.', + 'Creation Date:' => 'regrinfo.domain.created', + 'Created On:' => 'regrinfo.domain.created', + 'Expiration Date:' => 'regrinfo.domain.expires', + 'Updated Date:' => 'regrinfo.domain.changed', + 'No match for ' => 'nodomain' + ); + + function parse($data, $query) + { + $this->Query = array(); + $this->SUBVERSION = sprintf('%s-%s', $query['handler'], $this->HANDLER_VERSION); + $this->result = generic_parser_b($data['rawdata'], $this->REG_FIELDS, 'dmy'); + + unset($this->result['registered']); + + if (isset($this->result['nodomain'])) + { + unset($this->result['nodomain']); + $this->result['regrinfo']['registered'] = 'no'; + return $this->result; + } + + if ($this->deep_whois) $this->result = $this->DeepWhois($query,$this->result); + + // Next server could fail to return data + if (empty($this->result['rawdata']) || count($this->result['rawdata']) < 3) + $this->result['rawdata'] = $data['rawdata']; + + // Domain is registered no matter what next server says + $this->result['regrinfo']['registered'] = 'yes'; + + return $this->result; + } + } +?> diff --git a/wp-content/plugins/wordfence/lib/whois/whois.gtld.psiusa.php b/wp-content/plugins/wordfence/lib/whois/whois.gtld.psiusa.php new file mode 100644 index 0000000..6a266a8 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.gtld.psiusa.php @@ -0,0 +1,90 @@ + 'domain.created', + 'last-changed:' => 'domain.changed', + 'status:' => 'domain.status', + '[owner-c] fname:' => 'owner.name.first', + '[owner-c] lname:' => 'owner.name.last', + '[owner-c] org:' => 'owner.organization', + '[owner-c] address:' => 'owner.address.street', + '[owner-c] city:' => 'owner.address.city', + '[owner-c] pcode:' => 'owner.address.pcode', + '[owner-c] country:' => 'owner.address.country', + '[owner-c] state:' => 'owner.address.state', + '[owner-c] phone:' => 'owner.phone', + '[owner-c] fax:' => 'owner.fax', + '[owner-c] email:' => 'owner.email', + '[admin-c] fname:' => 'admin.name.first', + '[admin-c] lname:' => 'admin.name.last', + '[admin-c] org:' => 'admin.organization', + '[admin-c] address:' => 'admin.address.street', + '[admin-c] city:' => 'admin.address.city', + '[admin-c] pcode:' => 'admin.address.pcode', + '[admin-c] country:' => 'admin.address.country', + '[admin-c] state:' => 'admin.address.state', + '[admin-c] phone:' => 'admin.phone', + '[admin-c] fax:' => 'admin.fax', + '[admin-c] email:' => 'admin.email', + '[tech-c] fname:' => 'tech.name.first', + '[tech-c] lname:' => 'tech.name.last', + '[tech-c] org:' => 'tech.organization', + '[tech-c] address:' => 'tech.address.street', + '[tech-c] city:' => 'tech.address.city', + '[tech-c] pcode:' => 'tech.address.pcode', + '[tech-c] country:' => 'tech.address.country', + '[tech-c] state:' => 'tech.address.state', + '[tech-c] phone:' => 'tech.phone', + '[tech-c] fax:' => 'tech.fax', + '[tech-c] email:' => 'tech.email', + '[zone-c] fname:' => 'zone.name.first', + '[zone-c] lname:' => 'zone.name.last', + '[zone-c] org:' => 'zone.organization', + '[zone-c] address:' => 'zone.address.street', + '[zone-c] city:' => 'zone.address.city', + '[zone-c] pcode:' => 'zone.address.pcode', + '[zone-c] country:' => 'zone.address.country', + '[zone-c] state:' => 'zone.address.state', + '[zone-c] phone:' => 'zone.phone', + '[zone-c] fax:' => 'zone.fax', + '[zone-c] email:' => 'zone.email', + ); + + return generic_parser_b($data_str, $items); + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.gtld.publicdomainregistry.php b/wp-content/plugins/wordfence/lib/whois/whois.gtld.publicdomainregistry.php new file mode 100644 index 0000000..3982552 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.gtld.publicdomainregistry.php @@ -0,0 +1,57 @@ + 'Registrant:', + 'owner#' => '(Registrant):', + 'admin' => 'Administrative Contact', + 'tech' => 'Technical Contact', + 'billing' => 'Billing Contact', + 'domain.name' => 'Domain name:', + 'domain.sponsor' => 'Registration Service Provided By:', + 'domain.nserver' => 'Domain servers in listed order:', + 'domain.changed' => 'Record last updated ', + 'domain.created' => 'Record created on', + 'domain.created#' => 'Creation Date:', + 'domain.expires' => 'Record expires on', + 'domain.expires#' => 'Expiration Date:', + 'domain.status' => 'Status:' + ); + + return easy_parser($data_str, $items, 'mdy', false, true, true); + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.gtld.register.php b/wp-content/plugins/wordfence/lib/whois/whois.gtld.register.php new file mode 100644 index 0000000..51f3169 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.gtld.register.php @@ -0,0 +1,62 @@ + 'Registrant Info:', + 'owner#1' => 'Organization:', + 'owner#2' => 'Registrant:', + 'owner#3' => 'Registrant Contact:', + 'admin' => 'Administrative', + 'tech' => 'Technical', + 'zone' => 'Zone', + 'domain.sponsor#0' => 'Registrar Name....:', + 'domain.sponsor#1' => 'Registration Service Provided By:', + 'domain.referrer' => 'Registrar Homepage:', + 'domain.nserver' => 'Domain servers in listed order:', + 'domain.nserver' => 'DNS Servers:', + 'domain.name' => 'Domain name:', + 'domain.created#0' => 'Created on..............:', + 'domain.created#1' => 'Creation date:', + 'domain.expires#0' => 'Expires on..............:', + 'domain.expires#1' => 'Expiration date:', + 'domain.changed' => 'Record last updated on..:', + 'domain.status' => 'Status:' + ); + + return easy_parser($data_str, $items, 'ymd'); + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.gtld.rrpproxy.php b/wp-content/plugins/wordfence/lib/whois/whois.gtld.rrpproxy.php new file mode 100644 index 0000000..2a81430 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.gtld.rrpproxy.php @@ -0,0 +1,92 @@ + 'domain.created', + 'updated-date:' => 'domain.changed', + 'registration-expiration-date:' => 'domain.expires', + 'RSP:' => 'domain.sponsor', + 'URL:' => 'domain.referrer', + 'owner-nom.contact:' => 'owner.handle', + 'owner-fname:' => 'owner.name.first', + 'owner-lname:' => 'owner.name.last', + 'owner-organization:' => 'owner.organization', + 'owner-street:' => 'owner.address.street', + 'owner-city:' => 'owner.address.city', + 'owner-zip:' => 'owner.address.pcode', + 'owner-country:' => 'owner.address.country', + 'owner-phone:' => 'owner.phone', + 'owner-fax:' => 'owner.fax', + 'owner-email:' => 'owner.email', + 'admin-nom.contact:' => 'admin.handle', + 'admin-fname:' => 'admin.name.first', + 'admin-lname:' => 'admin.name.last', + 'admin-organization:' => 'admin.organization', + 'admin-street:' => 'admin.address.street', + 'admin-city:' => 'admin.address.city', + 'admin-zip:' => 'admin.address.pcode', + 'admin-country:' => 'admin.address.country', + 'admin-phone:' => 'admin.phone', + 'admin-fax:' => 'admin.fax', + 'admin-email:' => 'admin.email', + 'tech-nom.contact:' => 'tech.handle', + 'tech-fname:' => 'tech.name.first', + 'tech-lname:' => 'tech.name.last', + 'tech-organization:' => 'tech.organization', + 'tech-street:' => 'tech.address.street', + 'tech-city:' => 'tech.address.city', + 'tech-zip:' => 'tech.address.pcode', + 'tech-country:' => 'tech.address.country', + 'tech-phone:' => 'tech.phone', + 'tech-fax:' => 'tech.fax', + 'tech-email:' => 'tech.email', + 'billing-nom.contact:' => 'billing.handle', + 'billing-fname:' => 'billing.name.first', + 'billing-lname:' => 'billing.name.last', + 'billing-organization:' => 'billing.organization', + 'billing-street:' => 'billing.address.street', + 'billing-city:' => 'billing.address.city', + 'billing-zip:' => 'billing.address.pcode', + 'billing-country:' => 'billing.address.country', + 'billing-phone:' => 'billing.phone', + 'billing-fax:' => 'billing.fax', + 'billing-email:' => 'billing.email' + ); + + return generic_parser_b($data_str, $items); + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.gtld.schlund.php b/wp-content/plugins/wordfence/lib/whois/whois.gtld.schlund.php new file mode 100644 index 0000000..3de3fe6 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.gtld.schlund.php @@ -0,0 +1,86 @@ + 'domain.created', + 'last-changed:' => 'domain.changed', + 'status:' => 'domain.status', + 'registrant-firstname:' => 'owner.name.first', + 'registrant-lastname:' => 'owner.name.last', + 'registrant-organization:' => 'owner.organization', + 'registrant-street1:' => 'owner.address.street.', + 'registrant-street2:' => 'owner.address.street.', + 'registrant-pcode:' => 'owner.address.pcode', + 'registrant-city:' => 'owner.address.city', + 'registrant-ccode:' => 'owner.address.country', + 'registrant-phone:' => 'owner.phone', + 'registrant-email:' => 'owner.email', + 'admin-c-firstname:' => 'admin.name.first', + 'admin-c-lastname:' => 'admin.name.last', + 'admin-c-organization:' => 'admin.organization', + 'admin-c-street1:' => 'admin.address.street.', + 'admin-c-street2:' => 'admin.address.street.', + 'admin-c-pcode:' => 'admin.address.pcode', + 'admin-c-city:' => 'admin.address.city', + 'admin-c-ccode:' => 'admin.address.country', + 'admin-c-phone:' => 'admin.phone', + 'admin-c-email:' => 'admin.email', + 'tech-c-firstname:' => 'tech.name.first', + 'tech-c-lastname:' => 'tech.name.last', + 'tech-c-organization:' => 'tech.organization', + 'tech-c-street1:' => 'tech.address.street.', + 'tech-c-street2:' => 'tech.address.street.', + 'tech-c-pcode:' => 'tech.address.pcode', + 'tech-c-city:' => 'tech.address.city', + 'tech-c-ccode:' => 'tech.address.country', + 'tech-c-phone:' => 'tech.phone', + 'tech-c-email:' => 'tech.email', + 'bill-c-firstname:' => 'billing.name.first', + 'bill-c-lastname:' => 'billing.name.last', + 'bill-c-organization:' => 'billing.organization', + 'bill-c-street1:' => 'billing.address.street.', + 'bill-c-street2:' => 'billing.address.street.', + 'bill-c-pcode:' => 'billing.address.pcode', + 'bill-c-city:' => 'billing.address.city', + 'bill-c-ccode:' => 'billing.address.country', + 'bill-c-phone:' => 'billing.phone', + 'bill-c-email:' => 'billing.email' + ); + + return generic_parser_b($data_str, $items); + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.gtld.srsplus.php b/wp-content/plugins/wordfence/lib/whois/whois.gtld.srsplus.php new file mode 100644 index 0000000..1ab2c4e --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.gtld.srsplus.php @@ -0,0 +1,51 @@ + 'Registrant:', + 'admin' => 'Administrative', + 'tech' => 'Technical', + 'billing' => 'Billing', + 'domain.name' => 'Domain Name:', + 'domain.nserver' => 'Domain servers:', + 'domain.created' => 'Record created on', + 'domain.expires' => 'Record expires on' + ); + + return easy_parser($data_str, $items, 'ymd',false,true,true); + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.gtld.tmagnic.php b/wp-content/plugins/wordfence/lib/whois/whois.gtld.tmagnic.php new file mode 100644 index 0000000..0df7bed --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.gtld.tmagnic.php @@ -0,0 +1,52 @@ + 'Owner Contact:', + 'admin' => 'Admin Contact', + 'tech' => 'Technical Contact', + 'domain.name' => 'Domain Name:', + 'domain.nserver.' => 'Domain servers in listed order:', + 'domain.expires' => 'Record expires on: ', + 'domain.changed' => 'Record last updated on: ', + '' => 'Zone Contact', + '#' => 'Punycode Name:' + ); + + return easy_parser($data_str, $items, 'ymd',false,false,true); + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.gtld.tvcorp.php b/wp-content/plugins/wordfence/lib/whois/whois.gtld.tvcorp.php new file mode 100644 index 0000000..ee842e0 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.gtld.tvcorp.php @@ -0,0 +1,50 @@ + 'Registrant', + 'admin' => 'Admin', + 'tech' => 'Technical', + 'billing' => 'Billing', + 'domain.nserver.' => 'Domain servers:', + 'domain.created' => 'Record created on', + 'domain.expires' => 'Record expires on' + ); + + return easy_parser($data_str, $items, 'mdy'); + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.gtld.wildwestdomains.php b/wp-content/plugins/wordfence/lib/whois/whois.gtld.wildwestdomains.php new file mode 100644 index 0000000..22e692d --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.gtld.wildwestdomains.php @@ -0,0 +1,52 @@ + 'Registrant:', + 'admin' => 'Administrative Contact:', + 'tech' => 'Technical Contact:', + 'domain.name' => 'Domain name:', + 'domain.sponsor'=> 'Registered through:', + 'domain.nserver' => 'Domain servers in listed order:', + 'domain.created' => 'Created on:', + 'domain.expires' => 'Expires on:', + 'domain.changed' => 'Last Updated on:' + ); + + return easy_parser($data_str, $items, 'mdy'); + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.hu.php b/wp-content/plugins/wordfence/lib/whois/whois.hu.php new file mode 100644 index 0000000..f8dd3ae --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.hu.php @@ -0,0 +1,95 @@ + 'fax', + 'e-mail' => 'email', + 'hun-id' => 'handle', + 'person' => 'name', + 'nameserver' => 'nserver', + 'person' => 'name', + 'org' => 'organization', + 'registered' => 'created' + ); + + $contacts = array ( + 'registrar' => 'owner', + 'admin-c' => 'admin', + 'tech-c' => 'tech', + 'billing-c' => 'billing', + 'zone-c' => 'zone', + 'owner-hun-id' => 'owner' + ); + + // make those broken hungary comments standards-conforming + // replace first found hun-id with owner-hun-id (will be parsed later on) + // make output UTF-8 + + $comments = true; + $owner_id = true; + + foreach ($data_str['rawdata'] as $i => $val) + { + if ($comments) + { + if (strpos($data_str['rawdata'][$i],'domain:') === false) + { + if ($i) $data_str['rawdata'][$i] = '% '.$data_str['rawdata'][$i]; + } + else + $comments = false; + } + else + if ($owner_id && substr($data_str['rawdata'][$i],0,7) == 'hun-id:') + { + $data_str['rawdata'][$i] = 'owner-'.$data_str['rawdata'][$i]; + $owner_id = false; + } + } + + $reg = generic_parser_a($data_str['rawdata'],$translate,$contacts); + + unset($reg['domain']['organization']); + unset($reg['domain']['address']); + unset($reg['domain']['phone']); + unset($reg['domain']['fax']); + + $r['regrinfo'] = $reg; + $r['regyinfo'] = array('referrer'=>'http://www.nic.hu','registrar'=>'HUNIC'); + return format_dates($r,'ymd'); + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.icon.png b/wp-content/plugins/wordfence/lib/whois/whois.icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b1e905ecf877fcf283b91cc3e68d951920381f54 GIT binary patch literal 571 zcmV-B0>u4^P)WdH}&2ptM777$EorvLx|2XskIMF-Ug9SSWsi6ohc00009a7bBm000XT z000XT0n*)m`~Uy|Ay7+aAGfsC%tIy`ybq*9hpiB0+a9v<}yd(VWpX zX-_#fd~M~c(kw+v?VlXm|1^!eT6WvGhdOqRLje6B&S)?k(Wnu5ho*EP=qgu+b!muY zSmV}pjxz>1*%hu_T$yF;GWukFSmr`onXL~_0bKZ_L5Eh-j}NFC7WO7oUL@wz06hbX}x!-*|=%evL8c@Gz-bStAYRk002ov JPDHLkV1i!%{Nexr literal 0 HcmV?d00001 diff --git a/wp-content/plugins/wordfence/lib/whois/whois.idna.php b/wp-content/plugins/wordfence/lib/whois/whois.idna.php new file mode 100644 index 0000000..18375bb --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.idna.php @@ -0,0 +1,969 @@ + + * @copyright 2004-2007 phlyLabs Berlin, http://phlylabs.de + * @version 0.5.1 + * + */ +class wordfence_idna_convert +{ + /** + * Holds all relevant mapping tables, loaded from a seperate file on construct + * See RFC3454 for details + * + * @var array + * @access private + */ + var $NP = array(); + + // Internal settings, do not mess with them + var $_punycode_prefix = 'xn--'; + var $_invalid_ucs = 0x80000000; + var $_max_ucs = 0x10FFFF; + var $_base = 36; + var $_tmin = 1; + var $_tmax = 26; + var $_skew = 38; + var $_damp = 700; + var $_initial_bias = 72; + var $_initial_n = 0x80; + var $_sbase = 0xAC00; + var $_lbase = 0x1100; + var $_vbase = 0x1161; + var $_tbase = 0x11A7; + var $_lcount = 19; + var $_vcount = 21; + var $_tcount = 28; + var $_ncount = 588; // _vcount * _tcount + var $_scount = 11172; // _lcount * _tcount * _vcount + var $_error = false; + + // See {@link set_paramter()} for details of how to change the following + // settings from within your script / application + var $_api_encoding = 'utf8'; // Default input charset is UTF-8 + var $_allow_overlong = false; // Overlong UTF-8 encodings are forbidden + var $_strict_mode = false; // Behave strict or not + + // The constructor + function idna_convert($options = false) + { + $this->slast = $this->_sbase + $this->_lcount * $this->_vcount * $this->_tcount; + if (function_exists('file_get_contents')) { + $this->NP = unserialize(file_get_contents(dirname(__FILE__).'/npdata.ser')); + } else { + $this->NP = unserialize(join('', file(dirname(__FILE__).'/npdata.ser'))); + } + // If parameters are given, pass these to the respective method + if (is_array($options)) { + return $this->set_parameter($options); + } + return true; + } + + /** + * Sets a new option value. Available options and values: + * [encoding - Use either UTF-8, UCS4 as array or UCS4 as string as input ('utf8' for UTF-8, + * 'ucs4_string' and 'ucs4_array' respectively for UCS4); The output is always UTF-8] + * [overlong - Unicode does not allow unnecessarily long encodings of chars, + * to allow this, set this parameter to true, else to false; + * default is false.] + * [strict - true: strict mode, good for registration purposes - Causes errors + * on failures; false: loose mode, ideal for "wildlife" applications + * by silently ignoring errors and returning the original input instead + * + * @param mixed Parameter to set (string: single parameter; array of Parameter => Value pairs) + * @param string Value to use (if parameter 1 is a string) + * @return boolean true on success, false otherwise + * @access public + */ + function set_parameter($option, $value = false) + { + if (!is_array($option)) { + $option = array($option => $value); + } + foreach ($option as $k => $v) { + switch ($k) { + case 'encoding': + switch ($v) { + case 'utf8': + case 'ucs4_string': + case 'ucs4_array': + $this->_api_encoding = $v; + break; + default: + $this->_error('Set Parameter: Unknown parameter '.$v.' for option '.$k); + return false; + } + break; + case 'overlong': + $this->_allow_overlong = ($v) ? true : false; + break; + case 'strict': + $this->_strict_mode = ($v) ? true : false; + break; + default: + $this->_error('Set Parameter: Unknown option '.$k); + return false; + } + } + return true; + } + + /** + * Decode a given ACE domain name + * @param string Domain name (ACE string) + * [@param string Desired output encoding, see {@link set_parameter}] + * @return string Decoded Domain name (UTF-8 or UCS-4) + * @access public + */ + function decode($input, $one_time_encoding = false) + { + // Optionally set + if ($one_time_encoding) { + switch ($one_time_encoding) { + case 'utf8': + case 'ucs4_string': + case 'ucs4_array': + break; + default: + $this->_error('Unknown encoding '.$one_time_encoding); + return false; + } + } + // Make sure to drop any newline characters around + $input = trim($input); + + // Negotiate input and try to determine, whether it is a plain string, + // an email address or something like a complete URL + if (strpos($input, '@')) { // Maybe it is an email address + // No no in strict mode + if ($this->_strict_mode) { + $this->_error('Only simple domain name parts can be handled in strict mode'); + return false; + } + list ($email_pref, $input) = explode('@', $input, 2); + $arr = explode('.', $input); + foreach ($arr as $k => $v) { + if (preg_match('!^'.preg_quote($this->_punycode_prefix, '!').'!', $v)) { + $conv = $this->_decode($v); + if ($conv) $arr[$k] = $conv; + } + } + $input = join('.', $arr); + $arr = explode('.', $email_pref); + foreach ($arr as $k => $v) { + if (preg_match('!^'.preg_quote($this->_punycode_prefix, '!').'!', $v)) { + $conv = $this->_decode($v); + if ($conv) $arr[$k] = $conv; + } + } + $email_pref = join('.', $arr); + $return = $email_pref . '@' . $input; + } elseif (preg_match('![:\./]!', $input)) { // Or a complete domain name (with or without paths / parameters) + // No no in strict mode + if ($this->_strict_mode) { + $this->_error('Only simple domain name parts can be handled in strict mode'); + return false; + } + $parsed = parse_url($input); + if (isset($parsed['host'])) { + $arr = explode('.', $parsed['host']); + foreach ($arr as $k => $v) { + $conv = $this->_decode($v); + if ($conv) $arr[$k] = $conv; + } + $parsed['host'] = join('.', $arr); + $return = + (empty($parsed['scheme']) ? '' : $parsed['scheme'].(strtolower($parsed['scheme']) == 'mailto' ? ':' : '://')) + .(empty($parsed['user']) ? '' : $parsed['user'].(empty($parsed['pass']) ? '' : ':'.$parsed['pass']).'@') + .$parsed['host'] + .(empty($parsed['port']) ? '' : ':'.$parsed['port']) + .(empty($parsed['path']) ? '' : $parsed['path']) + .(empty($parsed['query']) ? '' : '?'.$parsed['query']) + .(empty($parsed['fragment']) ? '' : '#'.$parsed['fragment']); + } else { // parse_url seems to have failed, try without it + $arr = explode('.', $input); + foreach ($arr as $k => $v) { + $conv = $this->_decode($v); + $arr[$k] = ($conv) ? $conv : $v; + } + $return = join('.', $arr); + } + } else { // Otherwise we consider it being a pure domain name string + $return = $this->_decode($input); + if (!$return) $return = $input; + } + // The output is UTF-8 by default, other output formats need conversion here + // If one time encoding is given, use this, else the objects property + switch (($one_time_encoding) ? $one_time_encoding : $this->_api_encoding) { + case 'utf8': + return $return; + break; + case 'ucs4_string': + return $this->_ucs4_to_ucs4_string($this->_utf8_to_ucs4($return)); + break; + case 'ucs4_array': + return $this->_utf8_to_ucs4($return); + break; + default: + $this->_error('Unsupported output format'); + return false; + } + } + + /** + * Encode a given UTF-8 domain name + * @param string Domain name (UTF-8 or UCS-4) + * [@param string Desired input encoding, see {@link set_parameter}] + * @return string Encoded Domain name (ACE string) + * @access public + */ + function encode($decoded, $one_time_encoding = false) + { + // Forcing conversion of input to UCS4 array + // If one time encoding is given, use this, else the objects property + switch ($one_time_encoding ? $one_time_encoding : $this->_api_encoding) { + case 'utf8': + $decoded = $this->_utf8_to_ucs4($decoded); + break; + case 'ucs4_string': + $decoded = $this->_ucs4_string_to_ucs4($decoded); + case 'ucs4_array': + break; + default: + $this->_error('Unsupported input format: '.($one_time_encoding ? $one_time_encoding : $this->_api_encoding)); + return false; + } + + // No input, no output, what else did you expect? + if (empty($decoded)) return ''; + + // Anchors for iteration + $last_begin = 0; + // Output string + $output = ''; + foreach ($decoded as $k => $v) { + // Make sure to use just the plain dot + switch($v) { + case 0x3002: + case 0xFF0E: + case 0xFF61: + $decoded[$k] = 0x2E; + // Right, no break here, the above are converted to dots anyway + // Stumbling across an anchoring character + case 0x2E: + case 0x2F: + case 0x3A: + case 0x3F: + case 0x40: + // Neither email addresses nor URLs allowed in strict mode + if ($this->_strict_mode) { + $this->_error('Neither email addresses nor URLs are allowed in strict mode.'); + return false; + } else { + // Skip first char + if ($k) { + $encoded = ''; + $encoded = $this->_encode(array_slice($decoded, $last_begin, (($k)-$last_begin))); + if ($encoded) { + $output .= $encoded; + } else { + $output .= $this->_ucs4_to_utf8(array_slice($decoded, $last_begin, (($k)-$last_begin))); + } + $output .= chr($decoded[$k]); + } + $last_begin = $k + 1; + } + } + } + // Catch the rest of the string + if ($last_begin) { + $inp_len = sizeof($decoded); + $encoded = ''; + $encoded = $this->_encode(array_slice($decoded, $last_begin, (($inp_len)-$last_begin))); + if ($encoded) { + $output .= $encoded; + } else { + $output .= $this->_ucs4_to_utf8(array_slice($decoded, $last_begin, (($inp_len)-$last_begin))); + } + return $output; + } else { + if ($output = $this->_encode($decoded)) { + return $output; + } else { + return $this->_ucs4_to_utf8($decoded); + } + } + } + + /** + * Use this method to get the last error ocurred + * @param void + * @return string The last error, that occured + * @access public + */ + function get_last_error() + { + return $this->_error; + } + + /** + * The actual decoding algorithm + * @access private + */ + function _decode($encoded) + { + // We do need to find the Punycode prefix + if (!preg_match('!^'.preg_quote($this->_punycode_prefix, '!').'!', $encoded)) { + $this->_error('This is not a punycode string'); + return false; + } + $encode_test = preg_replace('!^'.preg_quote($this->_punycode_prefix, '!').'!', '', $encoded); + // If nothing left after removing the prefix, it is hopeless + if (!$encode_test) { + $this->_error('The given encoded string was empty'); + return false; + } + // Find last occurence of the delimiter + $delim_pos = strrpos($encoded, '-'); + if ($delim_pos > strlen($this->_punycode_prefix)) { + for ($k = strlen($this->_punycode_prefix); $k < $delim_pos; ++$k) { + $decoded[] = ord($encoded{$k}); + } + } else { + $decoded = array(); + } + $deco_len = count($decoded); + $enco_len = strlen($encoded); + + // Wandering through the strings; init + $is_first = true; + $bias = $this->_initial_bias; + $idx = 0; + $char = $this->_initial_n; + + for ($enco_idx = ($delim_pos) ? ($delim_pos + 1) : 0; $enco_idx < $enco_len; ++$deco_len) { + for ($old_idx = $idx, $w = 1, $k = $this->_base; 1 ; $k += $this->_base) { + $digit = $this->_decode_digit($encoded{$enco_idx++}); + $idx += $digit * $w; + $t = ($k <= $bias) ? $this->_tmin : + (($k >= $bias + $this->_tmax) ? $this->_tmax : ($k - $bias)); + if ($digit < $t) break; + $w = (int) ($w * ($this->_base - $t)); + } + $bias = $this->_adapt($idx - $old_idx, $deco_len + 1, $is_first); + $is_first = false; + $char += (int) ($idx / ($deco_len + 1)); + $idx %= ($deco_len + 1); + if ($deco_len > 0) { + // Make room for the decoded char + for ($i = $deco_len; $i > $idx; $i--) { + $decoded[$i] = $decoded[($i - 1)]; + } + } + $decoded[$idx++] = $char; + } + return $this->_ucs4_to_utf8($decoded); + } + + /** + * The actual encoding algorithm + * @access private + */ + function _encode($decoded) + { + // We cannot encode a domain name containing the Punycode prefix + $extract = strlen($this->_punycode_prefix); + $check_pref = $this->_utf8_to_ucs4($this->_punycode_prefix); + $check_deco = array_slice($decoded, 0, $extract); + + if ($check_pref == $check_deco) { + $this->_error('This is already a punycode string'); + return false; + } + // We will not try to encode strings consisting of basic code points only + $encodable = false; + foreach ($decoded as $k => $v) { + if ($v > 0x7a) { + $encodable = true; + break; + } + } + if (!$encodable) { + $this->_error('The given string does not contain encodable chars'); + return false; + } + + // Do NAMEPREP + $decoded = $this->_nameprep($decoded); + if (!$decoded || !is_array($decoded)) return false; // NAMEPREP failed + + $deco_len = count($decoded); + if (!$deco_len) return false; // Empty array + + $codecount = 0; // How many chars have been consumed + + $encoded = ''; + // Copy all basic code points to output + for ($i = 0; $i < $deco_len; ++$i) { + $test = $decoded[$i]; + // Will match [-0-9a-zA-Z] + if ((0x2F < $test && $test < 0x40) || (0x40 < $test && $test < 0x5B) + || (0x60 < $test && $test <= 0x7B) || (0x2D == $test)) { + $encoded .= chr($decoded[$i]); + $codecount++; + } + } + if ($codecount == $deco_len) return $encoded; // All codepoints were basic ones + + // Start with the prefix; copy it to output + $encoded = $this->_punycode_prefix.$encoded; + + // If we have basic code points in output, add an hyphen to the end + if ($codecount) $encoded .= '-'; + + // Now find and encode all non-basic code points + $is_first = true; + $cur_code = $this->_initial_n; + $bias = $this->_initial_bias; + $delta = 0; + while ($codecount < $deco_len) { + // Find the smallest code point >= the current code point and + // remember the last ouccrence of it in the input + for ($i = 0, $next_code = $this->_max_ucs; $i < $deco_len; $i++) { + if ($decoded[$i] >= $cur_code && $decoded[$i] <= $next_code) { + $next_code = $decoded[$i]; + } + } + + $delta += ($next_code - $cur_code) * ($codecount + 1); + $cur_code = $next_code; + + // Scan input again and encode all characters whose code point is $cur_code + for ($i = 0; $i < $deco_len; $i++) { + if ($decoded[$i] < $cur_code) { + $delta++; + } elseif ($decoded[$i] == $cur_code) { + for ($q = $delta, $k = $this->_base; 1; $k += $this->_base) { + $t = ($k <= $bias) ? $this->_tmin : + (($k >= $bias + $this->_tmax) ? $this->_tmax : $k - $bias); + if ($q < $t) break; + $encoded .= $this->_encode_digit(intval($t + (($q - $t) % ($this->_base - $t)))); //v0.4.5 Changed from ceil() to intval() + $q = (int) (($q - $t) / ($this->_base - $t)); + } + $encoded .= $this->_encode_digit($q); + $bias = $this->_adapt($delta, $codecount+1, $is_first); + $codecount++; + $delta = 0; + $is_first = false; + } + } + $delta++; + $cur_code++; + } + return $encoded; + } + + /** + * Adapt the bias according to the current code point and position + * @access private + */ + function _adapt($delta, $npoints, $is_first) + { + $delta = intval($is_first ? ($delta / $this->_damp) : ($delta / 2)); + $delta += intval($delta / $npoints); + for ($k = 0; $delta > (($this->_base - $this->_tmin) * $this->_tmax) / 2; $k += $this->_base) { + $delta = intval($delta / ($this->_base - $this->_tmin)); + } + return intval($k + ($this->_base - $this->_tmin + 1) * $delta / ($delta + $this->_skew)); + } + + /** + * Encoding a certain digit + * @access private + */ + function _encode_digit($d) + { + return chr($d + 22 + 75 * ($d < 26)); + } + + /** + * Decode a certain digit + * @access private + */ + function _decode_digit($cp) + { + $cp = ord($cp); + return ($cp - 48 < 10) ? $cp - 22 : (($cp - 65 < 26) ? $cp - 65 : (($cp - 97 < 26) ? $cp - 97 : $this->_base)); + } + + /** + * Internal error handling method + * @access private + */ + function _error($error = '') + { + $this->_error = $error; + } + + /** + * Do Nameprep according to RFC3491 and RFC3454 + * @param array Unicode Characters + * @return string Unicode Characters, Nameprep'd + * @access private + */ + function _nameprep($input) + { + $output = array(); + $error = false; + // + // Mapping + // Walking through the input array, performing the required steps on each of + // the input chars and putting the result into the output array + // While mapping required chars we apply the cannonical ordering + foreach ($input as $v) { + // Map to nothing == skip that code point + if (in_array($v, $this->NP['map_nothing'])) continue; + + // Try to find prohibited input + if (in_array($v, $this->NP['prohibit']) || in_array($v, $this->NP['general_prohibited'])) { + $this->_error('NAMEPREP: Prohibited input U+'.sprintf('%08X', $v)); + return false; + } + foreach ($this->NP['prohibit_ranges'] as $range) { + if ($range[0] <= $v && $v <= $range[1]) { + $this->_error('NAMEPREP: Prohibited input U+'.sprintf('%08X', $v)); + return false; + } + } + // + // Hangul syllable decomposition + if (0xAC00 <= $v && $v <= 0xD7AF) { + foreach ($this->_hangul_decompose($v) as $out) { + $output[] = (int) $out; + } + // There's a decomposition mapping for that code point + } elseif (isset($this->NP['replacemaps'][$v])) { + foreach ($this->_apply_cannonical_ordering($this->NP['replacemaps'][$v]) as $out) { + $output[] = (int) $out; + } + } else { + $output[] = (int) $v; + } + } + // Before applying any Combining, try to rearrange any Hangul syllables + $output = $this->_hangul_compose($output); + // + // Combine code points + // + $last_class = 0; + $last_starter = 0; + $out_len = count($output); + for ($i = 0; $i < $out_len; ++$i) { + $class = $this->_get_combining_class($output[$i]); + if ((!$last_class || $last_class > $class) && $class) { + // Try to match + $seq_len = $i - $last_starter; + $out = $this->_combine(array_slice($output, $last_starter, $seq_len)); + // On match: Replace the last starter with the composed character and remove + // the now redundant non-starter(s) + if ($out) { + $output[$last_starter] = $out; + if (count($out) != $seq_len) { + for ($j = $i+1; $j < $out_len; ++$j) { + $output[$j-1] = $output[$j]; + } + unset($output[$out_len]); + } + // Rewind the for loop by one, since there can be more possible compositions + $i--; + $out_len--; + $last_class = ($i == $last_starter) ? 0 : $this->_get_combining_class($output[$i-1]); + continue; + } + } + // The current class is 0 + if (!$class) $last_starter = $i; + $last_class = $class; + } + return $output; + } + + /** + * Decomposes a Hangul syllable + * (see http://www.unicode.org/unicode/reports/tr15/#Hangul + * @param integer 32bit UCS4 code point + * @return array Either Hangul Syllable decomposed or original 32bit value as one value array + * @access private + */ + function _hangul_decompose($char) + { + $sindex = (int) $char - $this->_sbase; + if ($sindex < 0 || $sindex >= $this->_scount) { + return array($char); + } + $result = array(); + $result[] = (int) $this->_lbase + $sindex / $this->_ncount; + $result[] = (int) $this->_vbase + ($sindex % $this->_ncount) / $this->_tcount; + $T = intval($this->_tbase + $sindex % $this->_tcount); + if ($T != $this->_tbase) $result[] = $T; + return $result; + } + /** + * Ccomposes a Hangul syllable + * (see http://www.unicode.org/unicode/reports/tr15/#Hangul + * @param array Decomposed UCS4 sequence + * @return array UCS4 sequence with syllables composed + * @access private + */ + function _hangul_compose($input) + { + $inp_len = count($input); + if (!$inp_len) return array(); + $result = array(); + $last = (int) $input[0]; + $result[] = $last; // copy first char from input to output + + for ($i = 1; $i < $inp_len; ++$i) { + $char = (int) $input[$i]; + $sindex = $last - $this->_sbase; + $lindex = $last - $this->_lbase; + $vindex = $char - $this->_vbase; + $tindex = $char - $this->_tbase; + // Find out, whether two current characters are LV and T + if (0 <= $sindex && $sindex < $this->_scount && ($sindex % $this->_tcount == 0) + && 0 <= $tindex && $tindex <= $this->_tcount) { + // create syllable of form LVT + $last += $tindex; + $result[(count($result) - 1)] = $last; // reset last + continue; // discard char + } + // Find out, whether two current characters form L and V + if (0 <= $lindex && $lindex < $this->_lcount && 0 <= $vindex && $vindex < $this->_vcount) { + // create syllable of form LV + $last = (int) $this->_sbase + ($lindex * $this->_vcount + $vindex) * $this->_tcount; + $result[(count($result) - 1)] = $last; // reset last + continue; // discard char + } + // if neither case was true, just add the character + $last = $char; + $result[] = $char; + } + return $result; + } + + /** + * Returns the combining class of a certain wide char + * @param integer Wide char to check (32bit integer) + * @return integer Combining class if found, else 0 + * @access private + */ + function _get_combining_class($char) + { + return isset($this->NP['norm_combcls'][$char]) ? $this->NP['norm_combcls'][$char] : 0; + } + + /** + * Apllies the cannonical ordering of a decomposed UCS4 sequence + * @param array Decomposed UCS4 sequence + * @return array Ordered USC4 sequence + * @access private + */ + function _apply_cannonical_ordering($input) + { + $swap = true; + $size = count($input); + while ($swap) { + $swap = false; + $last = $this->_get_combining_class(intval($input[0])); + for ($i = 0; $i < $size-1; ++$i) { + $next = $this->_get_combining_class(intval($input[$i+1])); + if ($next != 0 && $last > $next) { + // Move item leftward until it fits + for ($j = $i + 1; $j > 0; --$j) { + if ($this->_get_combining_class(intval($input[$j-1])) <= $next) break; + $t = intval($input[$j]); + $input[$j] = intval($input[$j-1]); + $input[$j-1] = $t; + $swap = true; + } + // Reentering the loop looking at the old character again + $next = $last; + } + $last = $next; + } + } + return $input; + } + + /** + * Do composition of a sequence of starter and non-starter + * @param array UCS4 Decomposed sequence + * @return array Ordered USC4 sequence + * @access private + */ + function _combine($input) + { + $inp_len = count($input); + foreach ($this->NP['replacemaps'] as $np_src => $np_target) { + if ($np_target[0] != $input[0]) continue; + if (count($np_target) != $inp_len) continue; + $hit = false; + foreach ($input as $k2 => $v2) { + if ($v2 == $np_target[$k2]) { + $hit = true; + } else { + $hit = false; + break; + } + } + if ($hit) return $np_src; + } + return false; + } + + /** + * This converts an UTF-8 encoded string to its UCS-4 representation + * By talking about UCS-4 "strings" we mean arrays of 32bit integers representing + * each of the "chars". This is due to PHP not being able to handle strings with + * bit depth different from 8. This apllies to the reverse method _ucs4_to_utf8(), too. + * The following UTF-8 encodings are supported: + * bytes bits representation + * 1 7 0xxxxxxx + * 2 11 110xxxxx 10xxxxxx + * 3 16 1110xxxx 10xxxxxx 10xxxxxx + * 4 21 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx + * 5 26 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx + * 6 31 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx + * Each x represents a bit that can be used to store character data. + * The five and six byte sequences are part of Annex D of ISO/IEC 10646-1:2000 + * @access private + */ + function _utf8_to_ucs4($input) + { + $output = array(); + $out_len = 0; + $inp_len = strlen($input); + $mode = 'next'; + $test = 'none'; + for ($k = 0; $k < $inp_len; ++$k) { + $v = ord($input{$k}); // Extract byte from input string + + if ($v < 128) { // We found an ASCII char - put into stirng as is + $output[$out_len] = $v; + ++$out_len; + if ('add' == $mode) { + $this->_error('Conversion from UTF-8 to UCS-4 failed: malformed input at byte '.$k); + return false; + } + continue; + } + if ('next' == $mode) { // Try to find the next start byte; determine the width of the Unicode char + $start_byte = $v; + $mode = 'add'; + $test = 'range'; + if ($v >> 5 == 6) { // &110xxxxx 10xxxxx + $next_byte = 0; // Tells, how many times subsequent bitmasks must rotate 6bits to the left + $v = ($v - 192) << 6; + } elseif ($v >> 4 == 14) { // &1110xxxx 10xxxxxx 10xxxxxx + $next_byte = 1; + $v = ($v - 224) << 12; + } elseif ($v >> 3 == 30) { // &11110xxx 10xxxxxx 10xxxxxx 10xxxxxx + $next_byte = 2; + $v = ($v - 240) << 18; + } elseif ($v >> 2 == 62) { // &111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx + $next_byte = 3; + $v = ($v - 248) << 24; + } elseif ($v >> 1 == 126) { // &1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx + $next_byte = 4; + $v = ($v - 252) << 30; + } else { + $this->_error('This might be UTF-8, but I don\'t understand it at byte '.$k); + return false; + } + if ('add' == $mode) { + $output[$out_len] = (int) $v; + ++$out_len; + continue; + } + } + if ('add' == $mode) { + if (!$this->_allow_overlong && $test == 'range') { + $test = 'none'; + if (($v < 0xA0 && $start_byte == 0xE0) || ($v < 0x90 && $start_byte == 0xF0) || ($v > 0x8F && $start_byte == 0xF4)) { + $this->_error('Bogus UTF-8 character detected (out of legal range) at byte '.$k); + return false; + } + } + if ($v >> 6 == 2) { // Bit mask must be 10xxxxxx + $v = ($v - 128) << ($next_byte * 6); + $output[($out_len - 1)] += $v; + --$next_byte; + } else { + $this->_error('Conversion from UTF-8 to UCS-4 failed: malformed input at byte '.$k); + return false; + } + if ($next_byte < 0) { + $mode = 'next'; + } + } + } // for + return $output; + } + + /** + * Convert UCS-4 string into UTF-8 string + * See _utf8_to_ucs4() for details + * @access private + */ + function _ucs4_to_utf8($input) + { + $output = ''; + $k = 0; + foreach ($input as $v) { + ++$k; + // $v = ord($v); + if ($v < 128) { // 7bit are transferred literally + $output .= chr($v); + } elseif ($v < (1 << 11)) { // 2 bytes + $output .= chr(192 + ($v >> 6)) . chr(128 + ($v & 63)); + } elseif ($v < (1 << 16)) { // 3 bytes + $output .= chr(224 + ($v >> 12)) . chr(128 + (($v >> 6) & 63)) . chr(128 + ($v & 63)); + } elseif ($v < (1 << 21)) { // 4 bytes + $output .= chr(240 + ($v >> 18)) . chr(128 + (($v >> 12) & 63)) + . chr(128 + (($v >> 6) & 63)) . chr(128 + ($v & 63)); + } elseif ($v < (1 << 26)) { // 5 bytes + $output .= chr(248 + ($v >> 24)) . chr(128 + (($v >> 18) & 63)) + . chr(128 + (($v >> 12) & 63)) . chr(128 + (($v >> 6) & 63)) + . chr(128 + ($v & 63)); + } elseif ($v < (1 << 31)) { // 6 bytes + $output .= chr(252 + ($v >> 30)) . chr(128 + (($v >> 24) & 63)) + . chr(128 + (($v >> 18) & 63)) . chr(128 + (($v >> 12) & 63)) + . chr(128 + (($v >> 6) & 63)) . chr(128 + ($v & 63)); + } else { + $this->_error('Conversion from UCS-4 to UTF-8 failed: malformed input at byte '.$k); + return false; + } + } + return $output; + } + + /** + * Convert UCS-4 array into UCS-4 string + * + * @access private + */ + function _ucs4_to_ucs4_string($input) + { + $output = ''; + // Take array values and split output to 4 bytes per value + // The bit mask is 255, which reads &11111111 + foreach ($input as $v) { + $output .= chr(($v >> 24) & 255).chr(($v >> 16) & 255).chr(($v >> 8) & 255).chr($v & 255); + } + return $output; + } + + /** + * Convert UCS-4 strin into UCS-4 garray + * + * @access private + */ + function _ucs4_string_to_ucs4($input) + { + $output = array(); + $inp_len = strlen($input); + // Input length must be dividable by 4 + if ($inp_len % 4) { + $this->_error('Input UCS4 string is broken'); + return false; + } + // Empty input - return empty output + if (!$inp_len) return $output; + for ($i = 0, $out_len = -1; $i < $inp_len; ++$i) { + // Increment output position every 4 input bytes + if (!($i % 4)) { + $out_len++; + $output[$out_len] = 0; + } + $output[$out_len] += ord($input{$i}) << (8 * (3 - ($i % 4) ) ); + } + return $output; + } +} + +/** +* Adapter class for aligning the API of idna_convert with that of Net_IDNA +* @author Matthias Sommerfeld +*/ +class Net_IDNA_php4 extends wordfence_idna_convert +{ + /** + * Sets a new option value. Available options and values: + * [encoding - Use either UTF-8, UCS4 as array or UCS4 as string as input ('utf8' for UTF-8, + * 'ucs4_string' and 'ucs4_array' respectively for UCS4); The output is always UTF-8] + * [overlong - Unicode does not allow unnecessarily long encodings of chars, + * to allow this, set this parameter to true, else to false; + * default is false.] + * [strict - true: strict mode, good for registration purposes - Causes errors + * on failures; false: loose mode, ideal for "wildlife" applications + * by silently ignoring errors and returning the original input instead + * + * @param mixed Parameter to set (string: single parameter; array of Parameter => Value pairs) + * @param string Value to use (if parameter 1 is a string) + * @return boolean true on success, false otherwise + * @access public + */ + function setParams($option, $param = false) + { + return $this->IC->set_parameters($option, $param); + } +} + +?> diff --git a/wp-content/plugins/wordfence/lib/whois/whois.ie.php b/wp-content/plugins/wordfence/lib/whois/whois.ie.php new file mode 100644 index 0000000..936c81e --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.ie.php @@ -0,0 +1,64 @@ + 'handle', + 'person' => 'name', + 'renewal' => 'expires' + ); + + $contacts = array( + 'admin-c' => 'admin', + 'tech-c' => 'tech', + ); + + $reg = generic_parser_a($data_str['rawdata'], $translate, $contacts, 'domain', 'Ymd'); + + if (isset($reg['domain']['descr'])) + { + $reg['owner']['organization'] = $reg['domain']['descr'][0]; + unset($reg['domain']['descr']); + } + + $r['regrinfo'] = $reg; + $r['regyinfo'] = array( + 'referrer' => 'http://www.domainregistry.ie', + 'registrar' => 'IE Domain Registry' + ); + return $r; + } + } +?> diff --git a/wp-content/plugins/wordfence/lib/whois/whois.in.php b/wp-content/plugins/wordfence/lib/whois/whois.in.php new file mode 100644 index 0000000..438d6fc --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.in.php @@ -0,0 +1,45 @@ + 'http://whois.registry.in', + 'registrar' => 'INRegistry' + ); + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.info.php b/wp-content/plugins/wordfence/lib/whois/whois.info.php new file mode 100644 index 0000000..02fc903 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.info.php @@ -0,0 +1,45 @@ + 'http://whois.afilias.info', + 'registrar' => 'Afilias Global Registry Services' + ); + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.int.php b/wp-content/plugins/wordfence/lib/whois/whois.int.php new file mode 100644 index 0000000..1e7a783 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.int.php @@ -0,0 +1,44 @@ +parse($data_str['rawdata'], $query); + $r['regyinfo']['referrer'] = 'http://www.iana.org/int-dom/int.htm'; + $r['regyinfo']['registrar'] = 'Internet Assigned Numbers Authority'; + return ($r); + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.ip.afrinic.php b/wp-content/plugins/wordfence/lib/whois/whois.ip.afrinic.php new file mode 100644 index 0000000..6f66afd --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.ip.afrinic.php @@ -0,0 +1,77 @@ + 'fax', + 'e-mail' => 'email', + 'nic-hdl' => 'handle', + 'person' => 'name', + 'netname' => 'name', + 'organisation' => 'handle', + 'org-name' => 'organization', + 'org-type' => 'type' + ); + + $contacts = array( + 'admin-c' => 'admin', + 'tech-c' => 'tech', + 'org' => 'owner' + ); + + $r = generic_parser_a($data_str, $translate, $contacts, 'network', 'Ymd'); + + if (isset($r['network']['descr'])) + { + $r['owner']['organization'] = $r['network']['descr']; + unset($r['network']['descr']); + } + + if (isset($r['owner']['remarks']) && is_array($r['owner']['remarks'])) + while (list($key, $val) = each($r['owner']['remarks'])) + { + $pos = strpos($val,'rwhois://'); + + if ($pos!==false) + $r['rwhois'] = strtok(substr($val,$pos),' '); + } + + $r = array( 'regrinfo' => $r ); + $r['regyinfo']['type'] = 'ip'; + $r['regyinfo']['registrar'] = 'African Network Information Center'; + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.ip.apnic.php b/wp-content/plugins/wordfence/lib/whois/whois.ip.apnic.php new file mode 100644 index 0000000..598276f --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.ip.apnic.php @@ -0,0 +1,122 @@ + 'fax', + 'e-mail' => 'email', + 'nic-hdl' => 'handle', + 'person' => 'name', + 'country' => 'address', + 'netname' => 'name', + 'descr' => 'desc', + 'aut-num' => 'handle' + ); + + $contacts = array ( + 'admin-c' => 'admin', + 'tech-c' => 'tech' + ); + + $blocks = generic_parser_a_blocks($data_str,$translate,$disclaimer); + + if (isset($disclaimer) && is_array($disclaimer)) $r['disclaimer'] = $disclaimer; + + if (empty($blocks) || !is_array($blocks['main'])) + { + $r['registered'] = 'no'; + } + else + { + if (isset($blocks[$query])) + { + $as = true; + $rb = $blocks[$query]; + } + else + { + $rb = $blocks['main']; + $as = false; + } + + $r['registered'] = 'yes'; + + while (list($key,$val) = each($contacts)) + if (isset($rb[$key])) + { + if (is_array($rb[$key])) + $blk = $rb[$key][count($rb[$key])-1]; + else + $blk = $rb[$key]; + + //$blk = strtoupper(strtok($blk,' ')); + if (isset($blocks[$blk])) $r[$val] = $blocks[$blk]; + unset($rb[$key]); + } + + $r['network'] = $rb; + format_dates($r,'Ymd'); + + if (isset($r['network']['desc'])) + { + if (is_array($r['network']['desc'])) + { + $r['owner']['organization'] = array_shift($r['network']['desc']); + $r['owner']['address'] = $r['network']['desc']; + } + else + $r['owner']['organization'] = $r['network']['desc']; + + unset($r['network']['desc']); + } + + if (isset($r['network']['address'])) + { + if (isset($r['owner']['address'])) + $r['owner']['address'][] = $r['network']['address']; + else + $r['owner']['address'] = $r['network']['address']; + + unset($r['network']['address']); + } + } + + $r = array( 'regrinfo' => $r ); + $r['regyinfo']['type'] ='ip'; + $r['regyinfo']['registrar'] = 'Asia Pacific Network Information Centre'; + return $r; + } +} +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.ip.arin.php b/wp-content/plugins/wordfence/lib/whois/whois.ip.arin.php new file mode 100644 index 0000000..f214aca --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.ip.arin.php @@ -0,0 +1,78 @@ + 'owner.organization', + 'CustName:' => 'owner.organization', + 'OrgId:' => 'owner.handle', + 'Address:' => 'owner.address.street.', + 'City:' => 'owner.address.city', + 'StateProv:' => 'owner.address.state', + 'PostalCode:' => 'owner.address.pcode', + 'Country:' => 'owner.address.country', + 'NetRange:' => 'network.inetnum', + 'NetName:' => 'network.name', + 'NetHandle:' => 'network.handle', + 'NetType:' => 'network.status', + 'NameServer:' => 'network.nserver.', + 'Comment:' => 'network.desc.', + 'RegDate:' => 'network.created', + 'Updated:' => 'network.changed', + 'ASHandle:' => 'network.handle', + 'ASName:' => 'network.name', + 'NetHandle:' => 'network.handle', + 'NetName:' => 'network.name', + 'TechHandle:' => 'tech.handle', + 'TechName:' => 'tech.name', + 'TechPhone:' => 'tech.phone', + 'TechEmail:' => 'tech.email', + 'OrgAbuseName:' => 'abuse.name', + 'OrgAbuseHandle:' => 'abuse.handle', + 'OrgAbusePhone:' => 'abuse.phone', + 'OrgAbuseEmail:' => 'abuse.email.', + 'ReferralServer:' => 'rwhois' + ); + + $r = generic_parser_b($data_str, $items, 'ymd', false, true); + + if (@isset($r['abuse']['email'])) + $r['abuse']['email'] = implode(',',$r['abuse']['email']); + + return array( 'regrinfo' => $r ); + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.ip.krnic.php b/wp-content/plugins/wordfence/lib/whois/whois.ip.krnic.php new file mode 100644 index 0000000..71bc12f --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.ip.krnic.php @@ -0,0 +1,112 @@ + '[ Organization Information ]', + 'tech1' => '[ Technical Contact Information ]', + + 'owner2' => '[ ISP Organization Information ]', + 'admin2' => '[ ISP IP Admin Contact Information ]', + 'tech2' => '[ ISP IP Tech Contact Information ]', + + 'admin3' => '[ ISP IPv4 Admin Contact Information ]', + 'tech3' => '[ ISP IPv4 Tech Contact Information ]', + + 'abuse' => '[ ISP Network Abuse Contact Information ]', + + 'network.inetnum' => 'IPv4 Address :', + 'network.name' => 'Network Name :', + 'network.mnt-by' => 'Connect ISP Name :', + 'network.created' => 'Registration Date :' + ); + + $items = array( + 'Orgnization ID :' => 'handle', + 'Org Name :' => 'organization', + 'Org Name :' => 'organization', + 'Name :' => 'name', + 'Name :' => 'name', + 'Org Address :' => 'address.street', + 'Zip Code :' => 'address.pcode', + 'State :' => 'address.state', + 'Address :' => 'address.street', + 'Zip Code :' => 'address.pcode', + 'Phone :' => 'phone', + 'Phone :' => 'phone', + 'Fax :' => 'fax', + 'E-Mail :' => 'email', + 'E-Mail :' => 'email' + ); + + $b = get_blocks($data_str, $blocks); + + if (isset($b['network'])) + $r['network'] = $b['network']; + + if (isset($b['owner1'])) + $r['owner'] = generic_parser_b($b['owner1'], $items, 'Ymd', false); + else + if (isset($b['owner2'])) + $r['owner'] = generic_parser_b($b['owner2'], $items, 'Ymd', false); + + if (isset($b['admin2'])) + $r['admin'] = generic_parser_b($b['admin2'], $items, 'Ymd', false); + else + if (isset($b['admin3'])) + $r['admin'] = generic_parser_b($b['admin3'], $items, 'Ymd', false); + + if (isset($b['tech1'])) + $r['tech'] = generic_parser_b($b['tech1'], $items, 'Ymd', false); + else + if (isset($b['tech2'])) + $r['tech'] = generic_parser_b($b['tech2'], $items, 'Ymd', false); + else + if (isset($b['tech3'])) + $r['tech'] = generic_parser_b($b['tech3'], $items, 'Ymd', false); + + if (isset($b['abuse'])) + $r['abuse'] = generic_parser_b($b['abuse'], $items, 'Ymd', false); + + $r = format_dates($r, 'Ymd'); + + $r = array( 'regrinfo' => $r ); + $r['regyinfo']['type'] ='ip'; + $r['regyinfo']['registrar'] = 'Korean Network Information Centre'; + + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.ip.lacnic.php b/wp-content/plugins/wordfence/lib/whois/whois.ip.lacnic.php new file mode 100644 index 0000000..c930458 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.ip.lacnic.php @@ -0,0 +1,79 @@ + 'fax', + 'e-mail' => 'email', + 'nic-hdl-br' => 'handle', + 'nic-hdl' => 'handle', + 'person' => 'name', + 'netname' => 'name', + 'descr' => 'desc', + 'country' => 'address.country' + ); + + $contacts = array( + 'owner-c' => 'owner', + 'tech-c' => 'tech', + 'abuse-c' => 'abuse', + 'admin-c' => 'admin' + ); + + $r = generic_parser_a($data_str, $translate, $contacts, 'network'); + + unset($r['network']['owner']); + unset($r['network']['ownerid']); + unset($r['network']['responsible']); + unset($r['network']['address']); + unset($r['network']['phone']); + unset($r['network']['aut-num']); + unset($r['network']['nsstat']); + unset($r['network']['nslastaa']); + unset($r['network']['inetrev']); + + if (!empty($r['network']['aut-num'])) + $r['network']['handle'] = $r['network']['aut-num']; + + if (is_array($r['network']['nserver'])) + $r['network']['nserver'] = array_unique($r['network']['nserver']); + + $r = array( 'regrinfo' => $r ); + $r['regyinfo']['type'] ='ip'; + $r['regyinfo']['registrar'] = 'Latin American and Caribbean IP address Regional Registry'; + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.ip.lib.php b/wp-content/plugins/wordfence/lib/whois/whois.ip.lib.php new file mode 100644 index 0000000..e88b588 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.ip.lib.php @@ -0,0 +1,120 @@ += $min) && (ip2long($ip) <= $max)) return false; + } + + return true; +} + +//----------------------------------------------------------------- +// Get real client ip address + +function phpwhois_getclientip() +{ + if (!empty($_SERVER['HTTP_CLIENT_IP']) && phpwhois_validip($_SERVER['HTTP_CLIENT_IP'])) + return $_SERVER['HTTP_CLIENT_IP']; + + if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) + foreach (explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']) as $ip) + if (phpwhois_validip(trim($ip))) + return $ip; + + if (!empty($_SERVER['HTTP_X_FORWARDED']) && phpwhois_validip($_SERVER['HTTP_X_FORWARDED'])) + return $_SERVER['HTTP_X_FORWARDED']; + + if (!empty($_SERVER['HTTP_FORWARDED_FOR']) && phpwhois_validip($_SERVER['HTTP_FORWARDED_FOR'])) + return $_SERVER['HTTP_FORWARDED_FOR']; + + if (!empty($_SERVER['HTTP_FORWARDED']) && phpwhois_validip($_SERVER['HTTP_FORWARDED'])) + return $_SERVER['HTTP_FORWARDED']; + + if (!empty($_SERVER['HTTP_X_FORWARDED']) && phpwhois_validip($_SERVER['HTTP_X_FORWARDED'])) + return $_SERVER['HTTP_X_FORWARDED']; + + return $_SERVER['REMOTE_ADDR']; +} + +//----------------------------------------------------------------- +// Convert from CIDR to net range + +function phpwhois_cidr_conv($net) +{ + $start = strtok($net, '/'); + $n = 3-substr_count($net, '.'); + + if ($n > 0) + { + for ($i = $n; $i > 0; $i--) + $start.= '.0'; + } + + $bits1 = str_pad(decbin(ip2long($start)), 32, '0', 'STR_PAD_LEFT'); + $net = pow(2, (32-substr(strstr($net, '/'), 1))) - 1; + $bits2 = str_pad(decbin($net), 32, '0', 'STR_PAD_LEFT'); + $final = ''; + + for ($i = 0; $i < 32; $i++) + { + if ($bits1[$i] == $bits2[$i]) + $final.= $bits1[$i]; + if ($bits1[$i] == 1 and $bits2[$i] == 0) + $final.= $bits1[$i]; + if ($bits1[$i] == 0 and $bits2[$i] == 1) + $final.= $bits2[$i]; + } + + return $start." - ".long2ip(bindec($final)); +} +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.ip.php b/wp-content/plugins/wordfence/lib/whois/whois.ip.php new file mode 100644 index 0000000..70e77f4 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.ip.php @@ -0,0 +1,285 @@ + 'whois.ripe.net', + 'RIPE Network Coordination Centre' => 'whois.ripe.net', + 'Asia Pacific Network Information Center' => 'whois.apnic.net', + 'Asia Pacific Network Information Centre' => 'whois.apnic.net', + 'Latin American and Caribbean IP address Regional Registry' => 'whois.lacnic.net', + 'African Network Information Center' => 'whois.afrinic.net' + ); + + var $HANDLERS = array( + 'whois.krnic.net' => 'krnic', + 'whois.apnic.net' => 'apnic', + 'whois.ripe.net' => 'ripe', + 'whois.arin.net' => 'arin', + 'whois.lacnic.net' => 'lacnic', + 'whois.afrinic.net' => 'afrinic' + ); + + var $more_data = array(); // More queries to get more accurated data + var $done = array(); + + function parse($data, $query) + { + $result['regrinfo'] = array(); + $result['regyinfo'] = array(); + $result['regyinfo']['registrar'] = 'American Registry for Internet Numbers (ARIN)'; + $result['rawdata'] = array(); + + if (strpos($query,'.') === false) + $result['regyinfo']['type'] = 'AS'; + else + $result['regyinfo']['type'] = 'ip'; + + if (!$this->deep_whois) return null; + + $this->Query = array(); + $this->Query['server'] = 'whois.arin.net'; + $this->Query['query'] = $query; + + $rawdata = $data['rawdata']; + + if (empty($rawdata)) return $result; + + $presults[] = $rawdata; + $ip = ip2long($query); + $done = array(); + + while (count($presults) > 0) + { + $rwdata = array_shift($presults); + $found = false; + + foreach($rwdata as $line) + { + if (!strncmp($line,'American Registry for Internet Numbers',38)) continue; + + $p = strpos($line, '(NETBLK-'); + + if ($p === false) $p = strpos($line, '(NET-'); + + if ($p !== false) + { + $net = strtok(substr($line,$p+1),') '); + list($low,$high) = explode('-',str_replace(' ','',substr($line,$p+strlen($net)+3))); + + if (!isset($done[$net]) && $ip >= ip2long($low) && $ip <= ip2long($high)) + { + $owner = substr($line,0,$p-1); + + if (!empty($this->REGISTRARS['owner'])) + { + $this->handle_rwhois($this->REGISTRARS['owner'],$query); + break 2; + } + else + { + $this->Query['args'] = 'n '.$net; + $presults[] = $this->GetRawData($net); + $done[$net] = 1; + } + } + $found = true; + } + } + + if (!$found) + { + $this->Query['file'] = 'whois.ip.arin.php'; + $this->Query['handler'] = 'arin'; + $result = $this->parse_results($result,$rwdata,$query,true); + } + } + + unset($this->Query['args']); + + while (count($this->more_data) > 0) + { + $srv_data = array_shift($this->more_data); + $this->Query['server'] = $srv_data['server']; + unset($this->Query['handler']); + // Use original query + $rwdata = $this->GetRawData($srv_data['query']); + + if (!empty($rwdata)) + { + if (!empty($srv_data['handler'])) + { + $this->Query['handler'] = $srv_data['handler']; + + if (!empty($srv_data['file'])) + $this->Query['file'] = $srv_data['file']; + else + $this->Query['file'] = 'whois.'.$this->Query['handler'].'.php'; + } + + $result = $this->parse_results($result,$rwdata,$query,$srv_data['reset']); + $result = $this->set_whois_info($result); + $reset = false; + } + } + + + // Normalize nameserver fields + + if (isset($result['regrinfo']['network']['nserver'])) + { + if (!is_array($result['regrinfo']['network']['nserver'])) + { + unset($result['regrinfo']['network']['nserver']); + } + else + $result['regrinfo']['network']['nserver'] = $this->FixNameServer($result['regrinfo']['network']['nserver']); + } + + return $result; + } + + //----------------------------------------------------------------- + + function parse_results($result,$rwdata,$query,$reset) + { + $rwres = $this->Process($rwdata); + + if ($result['regyinfo']['type'] == 'AS' && !empty($rwres['regrinfo']['network'])) + { + $rwres['regrinfo']['AS'] = $rwres['regrinfo']['network']; + unset($rwres['regrinfo']['network']); + } + + if ($reset) + { + $result['regrinfo'] = $rwres['regrinfo']; + $result['rawdata'] = $rwdata; + } + else + { + $result['rawdata'][] = ''; + + foreach ($rwdata as $line) + $result['rawdata'][] = $line; + + foreach($rwres['regrinfo'] as $key => $data) + { + $result = $this->join_result($result,$key,$rwres); + } + } + + if ($this->deep_whois) + { + if (isset($rwres['regrinfo']['rwhois'])) + { + $this->handle_rwhois($rwres['regrinfo']['rwhois'],$query); + unset($result['regrinfo']['rwhois']); + } + else + if (!@empty($rwres['regrinfo']['owner']['organization'])) + switch ($rwres['regrinfo']['owner']['organization']) + { + case 'KRNIC': + $this->handle_rwhois('whois.krnic.net',$query); + break; + + case 'African Network Information Center': + $this->handle_rwhois('whois.afrinic.net',$query); + break; + } + } + + if (!empty($rwres['regyinfo'])) + $result['regyinfo'] = array_merge($result['regyinfo'],$rwres['regyinfo']); + + return $result; + } + + //----------------------------------------------------------------- + + function handle_rwhois($server,$query) + { + // Avoid querying the same server twice + + $parts = parse_url($server); + + if (empty($parts['host'])) + $host = $parts['path']; + else + $host = $parts['host']; + + if (array_key_exists($host,$this->done)) return; + + $q = array ( + 'query' => $query, + 'server' => $server + ); + + if (isset($this->HANDLERS[$host])) + { + $q['handler'] = $this->HANDLERS[$host]; + $q['file'] = sprintf('whois.ip.%s.php', $q['handler']); + $q['reset'] = true; + } + else + { + $q['handler'] = 'rwhois'; + $q['reset'] = false; + unset($q['file']); + } + + $this->more_data[] = $q; + $this->done[$host] = 1; + } + + //----------------------------------------------------------------- + + function join_result($result, $key, $newres) + { + if (isset($result['regrinfo'][$key]) && !array_key_exists(0,$result['regrinfo'][$key])) + { + $r = $result['regrinfo'][$key]; + $result['regrinfo'][$key] = array($r); + } + + $result['regrinfo'][$key][] = $newres['regrinfo'][$key]; + return $result; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.ip.ripe.php b/wp-content/plugins/wordfence/lib/whois/whois.ip.ripe.php new file mode 100644 index 0000000..6ac51cb --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.ip.ripe.php @@ -0,0 +1,85 @@ + 'fax', + 'e-mail' => 'email', + 'nic-hdl' => 'handle', + 'person' => 'name', + 'netname' => 'name', + 'descr' => 'desc' + ); + + $contacts = array( + 'admin-c' => 'admin', + 'tech-c' => 'tech' + ); + + if (!empty($data_str['rawdata'])) $data_str = $data_str['rawdata']; + + $r = generic_parser_a($data_str, $translate, $contacts, 'network'); + + if (isset($r['network']['desc'])) + { + $r['owner']['organization'] = $r['network']['desc']; + unset($r['network']['desc']); + } + + if (isset($r['admin']['abuse-mailbox'])) + { + $r['abuse']['email'] = $r['admin']['abuse-mailbox']; + unset($r['admin']['abuse-mailbox']); + } + + if (isset($r['tech']['abuse-mailbox'])) + { + $r['abuse']['email'] = $r['tech']['abuse-mailbox']; + unset($r['tech']['abuse-mailbox']); + } + + // Clean mess + if (isset($r['tech']['tech-c'])) unset($r['tech']['tech-c']); + if (isset($r['tech']['admin-c'])) unset($r['tech']['admin-c']); + if (isset($r['admin']['tech-c'])) unset($r['admin']['tech-c']); + if (isset($r['admin']['admin-c'])) unset($r['admin']['admin-c']); + + $r = array( 'regrinfo' => $r ); + $r['regyinfo']['type'] ='ip'; + $r['regyinfo']['registrar'] = 'RIPE Network Coordination Centre'; + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.ir.php b/wp-content/plugins/wordfence/lib/whois/whois.ir.php new file mode 100644 index 0000000..b7632cb --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.ir.php @@ -0,0 +1,60 @@ +. + */ + +// Define the handler flag. +if (!defined('__IR_HANDLER__')) + define('__IR_HANDLER__', 1); + +// Loadup the parser. +require_once('whois.parser.php'); + +/** + * IR Domain names lookup handler class. + */ +class ir_handler + { + function parse($data_str, $query) + { + $translate = array( + 'nic-hdl' => 'handle', + 'org' => 'organization', + 'e-mail' => 'email', + 'person' => 'name', + 'fax-no' => 'fax', + 'domain' => 'name' + ); + + $contacts = array( + 'admin-c' => 'admin', + 'tech-c' => 'tech', + 'holder-c' => 'owner' + ); + + $reg = generic_parser_a($data_str['rawdata'], $translate, $contacts, 'domain', 'Ymd'); + + $r['regrinfo'] = $reg; + $r['regyinfo'] = array( + 'referrer'=>'http://whois.nic.ir/', + 'registrar' => 'NIC-IR' + ); + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.is.php b/wp-content/plugins/wordfence/lib/whois/whois.is.php new file mode 100644 index 0000000..b9902d6 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.is.php @@ -0,0 +1,69 @@ + 'fax', + 'e-mail' => 'email', + 'nic-hdl' => 'handle', + 'person' => 'name' + ); + + $contacts = array( + 'owner-c' => 'owner', + 'admin-c' => 'admin', + 'tech-c' => 'tech', + 'billing-c' => 'billing', + 'zone-c' => 'zone' + ); + + $reg = generic_parser_a($data_str['rawdata'], $translate, $contacts, 'domain', 'mdy'); + + if (isset($reg['domain']['descr'])) + { + $reg['owner']['name'] = array_shift($reg['domain']['descr']); + $reg['owner']['address'] = $reg['domain']['descr']; + unset($reg['domain']['descr']); + } + + $r['regrinfo'] = $reg; + $r['regyinfo'] = array( + 'referrer' => 'http://www.isnic.is', + 'registrar' => 'ISNIC' + ); + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.it.php b/wp-content/plugins/wordfence/lib/whois/whois.it.php new file mode 100644 index 0000000..08538d7 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.it.php @@ -0,0 +1,78 @@ + array +- ContactID in address +*/ + +if (!defined('__IT_HANDLER__')) + define('__IT_HANDLER__', 1); + +require_once('whois.parser.php'); + +class it_handler + { + function parse($data_str, $query) + { + $items = array( + 'domain.name' => 'Domain:', + 'domain.nserver' => 'Nameservers', + 'domain.status' => 'Status:', + 'domain.expires' => 'Expire Date:', + 'owner' => 'Registrant', + 'admin' => 'Admin Contact', + 'tech' => 'Technical Contacts', + 'registrar' => 'Registrar' + ); + + $extra = array( + 'address:' => 'address.', + 'contactid:' => 'handle', + 'organization:' => 'organization', + 'created:' => 'created', + 'last update:' => 'changed', + 'web:' => 'web' + ); + + $r['regrinfo'] = easy_parser($data_str['rawdata'], $items, 'ymd',$extra); + + if (isset($r['regrinfo']['registrar'])) + { + $r['regrinfo']['domain']['registrar'] = $r['regrinfo']['registrar']; + unset($r['regrinfo']['registrar']); + } + + $r['regyinfo'] = array( + 'registrar' => 'IT-Nic', + 'referrer' => 'http://www.nic.it/' + ); + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.jp.php b/wp-content/plugins/wordfence/lib/whois/whois.jp.php new file mode 100644 index 0000000..d5f12bb --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.jp.php @@ -0,0 +1,111 @@ + 'domain.status', + '[Status]' => 'domain.status', + '[Registered Date]' => 'domain.created', + '[Created on]' => 'domain.created', + '[Expires on]' => 'domain.expires', + '[Last Updated]' => 'domain.changed', + '[Last Update]' => 'domain.changed', + '[Organization]' => 'owner.organization', + '[Name]' => 'owner.name', + '[Email]' => 'owner.email', + '[Postal code]' => 'owner.address.pcode', + '[Postal Address]' => 'owner.address.street', + '[Phone]' => 'owner.phone', + '[Fax]' => 'owner.fax', + '[Administrative Contact]' => 'admin.handle', + '[Technical Contact]' => 'tech.handle', + '[Name Server]' => 'domain.nserver.' + ); + + $r['regrinfo'] = generic_parser_b($data_str['rawdata'], $items, 'ymd'); + + $r['regyinfo'] = array( + 'referrer' => 'http://www.jprs.jp', + 'registrar' => 'Japan Registry Services' + ); + + if (!$this->deep_whois) return $r; + + $r['rawdata'] = $data_str['rawdata']; + + $items = array( + 'a. [JPNIC Handle]' => 'handle', + 'c. [Last, First]' => 'name', + 'd. [E-Mail]' => 'email', + 'g. [Organization]' => 'organization', + 'o. [TEL]' => 'phone', + 'p. [FAX]' => 'fax', + '[Last Update]' => 'changed' + ); + + $this->Query['server'] = 'jp.whois-servers.net'; + + if (!empty($r['regrinfo']['admin']['handle'])) + { + $rwdata = $this->GetRawData('CONTACT '.$r['regrinfo']['admin']['handle'].'/e'); + $r['rawdata'][] = ''; + $r['rawdata'] = array_merge($r['rawdata'],$rwdata); + $r['regrinfo']['admin'] = generic_parser_b($rwdata,$items,'ymd',false); + $r = $this->set_whois_info($r); + } + + if (!empty($r['regrinfo']['tech']['handle'])) + { + if (!empty($r['regrinfo']['admin']['handle']) && + $r['regrinfo']['admin']['handle'] == $r['regrinfo']['tech']['handle']) + { + $r['regrinfo']['tech'] = $r['regrinfo']['admin']; + } + else + { + unset($this->Query); + $this->Query['server'] = 'jp.whois-servers.net'; + $rwdata = $this->GetRawData('CONTACT '.$r['regrinfo']['tech']['handle'].'/e'); + $r['rawdata'][] = ''; + $r['rawdata'] = array_merge($r['rawdata'],$rwdata); + $r['regrinfo']['tech'] = generic_parser_b($rwdata,$items,'ymd',false); + $r = $this->set_whois_info($r); + } + } + + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.lt.php b/wp-content/plugins/wordfence/lib/whois/whois.lt.php new file mode 100644 index 0000000..15c1133 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.lt.php @@ -0,0 +1,64 @@ + 'handle', + 'contact name:' => 'name' + ); + + $items = array( + 'admin' => 'Contact type: Admin', + 'tech' => 'Contact type: Tech', + 'zone' => 'Contact type: Zone', + 'owner.name' => 'Registrar:', + 'owner.email' => 'Registrar email:', + 'domain.status' => 'Status:', + 'domain.created' => 'Registered:', + 'domain.changed' => 'Last updated:', + 'domain.nserver.' => 'NS:', + '' => '%' + ); + + $r['regrinfo'] = easy_parser($data_str['rawdata'], $items, 'ymd', $translate); + + $r['regyinfo'] = array( + 'referrer' => 'http://www.domreg.lt', + 'registrar' => 'DOMREG.LT' + ); + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.lu.php b/wp-content/plugins/wordfence/lib/whois/whois.lu.php new file mode 100644 index 0000000..ff7287e --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.lu.php @@ -0,0 +1,78 @@ + 'domain.name', + 'domaintype:' => 'domain.status', + 'nserver:' => 'domain.nserver.', + 'registered:' => 'domain.created', + 'source:' => 'domain.source', + 'ownertype:' => 'owner.type', + 'org-name:' => 'owner.organization', + 'org-address:' => 'owner.address.', + 'org-zipcode:' => 'owner.address.pcode', + 'org-city:' => 'owner.address.city', + 'org-country:' => 'owner.address.country', + 'adm-name:' => 'admin.name', + 'adm-address:' => 'admin.address.', + 'adm-zipcode:' => 'admin.address.pcode', + 'adm-city:' => 'admin.address.city', + 'adm-country:' => 'admin.address.country', + 'adm-email:' => 'admin.email', + 'tec-name:' => 'tech.name', + 'tec-address:' => 'tech.address.', + 'tec-zipcode:' => 'tech.address.pcode', + 'tec-city:' => 'tech.address.city', + 'tec-country:' => 'tech.address.country', + 'tec-email:' => 'tech.email', + 'bil-name:' => 'billing.name', + 'bil-address:' => 'billing.address.', + 'bil-zipcode:' => 'billing.address.pcode', + 'bil-city:' => 'billing.address.city', + 'bil-country:' => 'billing.address.country', + 'bil-email:' => 'billing.email' + ); + + $r['regrinfo'] = generic_parser_b($data_str['rawdata'], $items, 'dmy'); + + $r['regyinfo'] = array( + 'referrer' => 'http://www.dns.lu', + 'registrar' => 'DNS-LU' + ); + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.ly.php b/wp-content/plugins/wordfence/lib/whois/whois.ly.php new file mode 100644 index 0000000..0ed85d2 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.ly.php @@ -0,0 +1,72 @@ + 'Registrant:', + 'admin' => 'Administrative Contact:', + 'tech' => 'Technical Contact:', + 'domain.name' => 'Domain Name:', + 'domain.status' => 'Domain Status:', + 'domain.created' => 'Created:', + 'domain.changed' => 'Updated:', + 'domain.expires' => 'Expired:', + 'domain.nserver' => 'Domain servers in listed order:' + ); + + $extra = array( 'zip/postal code:' => 'address.pcode' ); + + $r['regrinfo'] = get_blocks($data_str['rawdata'], $items); + + if (!empty($r['regrinfo']['domain']['name'])) + { + $r['regrinfo'] = get_contacts($r['regrinfo'],$extra); + $r['regrinfo']['domain']['name'] = $r['regrinfo']['domain']['name'][0]; + $r['regrinfo']['registered'] = 'yes'; + } + else + { + $r = ''; + $r['regrinfo']['registered'] = 'no'; + } + + $r['regyinfo'] = array( + 'referrer' => 'http://www.nic.ly', + 'registrar' => 'Libya ccTLD' + ); + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.main.php b/wp-content/plugins/wordfence/lib/whois/whois.main.php new file mode 100644 index 0000000..58c6989 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.main.php @@ -0,0 +1,327 @@ +windows = true; + else + $this->windows = false; + + // Set version + $this->VERSION = sprintf("phpWhois v%s-%s", $this->CODE_VERSION, $this->DATA_VERSION); + } + + /* + * Use special whois server + */ + + function UseServer ($tld, $server) + { + $this->WHOIS_SPECIAL[$tld] = $server; + } + + /* + * Lookup query + */ + + function Lookup($query = '', $is_utf = true) + { + // start clean + $this->Query = array( 'status' => '' ); + + $query = trim($query); + + $IDN = new wordfence_idna_convert(); + + if ($is_utf) + $query = $IDN->encode($query); + else + $query = $IDN->encode(utf8_encode($query)); + + // If domain to query was not set + if (!isSet($query) || $query == '') + { + // Configure to use default whois server + $this->Query['server'] = $this->NSI_REGISTRY; + return ; + } + + // Set domain to query in query array + + $this->Query['query'] = $domain = strtolower($query); + + // If query is an ip address do ip lookup + + if ($query == long2ip(ip2long($query))) + { + // IPv4 Prepare to do lookup via the 'ip' handler + $ip = @gethostbyname($query); + + if (isset($this->WHOIS_SPECIAL['ip'])) + { + $this->Query['server'] = $this->WHOIS_SPECIAL['ip']; + $this->Query['args'] = $ip; + } + else + { + $this->Query['server'] = 'whois.arin.net'; + $this->Query['args'] = "n $ip"; + $this->Query['file'] = 'whois.ip.php'; + $this->Query['handler'] = 'ip'; + } + $this->Query['host_ip'] = $ip; + $this->Query['query'] = $ip; + $this->Query['tld'] = 'ip'; + $this->Query['host_name'] = @gethostbyaddr($ip); + return $this->GetData('',$this->deep_whois); + } + + if (strpos($query, ':')) + { + // IPv6 AS Prepare to do lookup via the 'ip' handler + $ip = @gethostbyname($query); + + if (isset($this->WHOIS_SPECIAL['ip'])) + { + $this->Query['server'] = $this->WHOIS_SPECIAL['ip']; + } + else + { + $this->Query['server'] = 'whois.ripe.net'; + $this->Query['file'] = 'whois.ip.ripe.php'; + $this->Query['handler'] = 'ripe'; + } + $this->Query['query'] = $ip; + $this->Query['tld'] = 'ip'; + return $this->GetData('',$this->deep_whois); + } + + if (!strpos($query, '.')) + { + // AS Prepare to do lookup via the 'ip' handler + $ip = @gethostbyname($query); + $this->Query['server'] = 'whois.arin.net'; + if (strtolower(substr($ip,0,2)) == 'as') + $as = substr($ip,2); + else + $as = $ip; + $this->Query['args'] = "a $as"; + $this->Query['file'] = 'whois.ip.php'; + $this->Query['handler'] = 'ip'; + $this->Query['query'] = $ip; + $this->Query['tld'] = 'as'; + return $this->GetData('',$this->deep_whois); + } + + // Build array of all possible tld's for that domain + + $tld = ''; + $server = ''; + $dp = explode('.', $domain); + $np = count($dp)-1; + $tldtests = array(); + + for ($i = 0; $i < $np; $i++) + { + array_shift($dp); + $tldtests[] = implode('.', $dp); + } + + // Search the correct whois server + + if ($this->non_icann) + $special_tlds = array_merge($this->WHOIS_SPECIAL,$this->WHOIS_NON_ICANN); + else + $special_tlds = $this->WHOIS_SPECIAL; + + foreach($tldtests as $tld) + { + // Test if we know in advance that no whois server is + // available for this domain and that we can get the + // data via http or whois request + + if (isset($special_tlds[$tld])) + { + $val = $special_tlds[$tld]; + + if ($val == '') return $this->Unknown(); + + $domain = substr($query, 0, - strlen($tld) - 1); + $val = str_replace('{domain}', $domain, $val); + $server = str_replace('{tld}', $tld, $val); + break; + } + } + + if ($server == '') + foreach($tldtests as $tld) + { + // Determine the top level domain, and it's whois server using + // DNS lookups on 'whois-servers.net'. + // Assumes a valid DNS response indicates a recognised tld (!?) + + $cname = $tld.'.whois-servers.net'; + + if (gethostbyname($cname) == $cname) continue; + $server = $tld.'.whois-servers.net'; + break; + } + + if ($tld && $server) + { + // If found, set tld and whois server in query array + $this->Query['server'] = $server; + $this->Query['tld'] = $tld; + $handler = ''; + + foreach($tldtests as $htld) + { + // special handler exists for the tld ? + + if (isSet($this->DATA[$htld])) + { + $handler = $this->DATA[$htld]; + break; + } + + // Regular handler exists for the tld ? + if (($fp = @fopen('whois.'.$htld.'.php', 'r', 1)) and fclose($fp)) + { + $handler = $htld; + break; + } + } + + // If there is a handler set it + + if ($handler != '') + { + $this->Query['file'] = "whois.$handler.php"; + $this->Query['handler'] = $handler; + } + + // Special parameters ? + + if (isset($this->WHOIS_PARAM[$server])) + $this->Query['server'] = $this->Query['server'].'?'.str_replace('$',$domain,$this->WHOIS_PARAM[$server]); + + $result = $this->GetData('',$this->deep_whois); + $this->Checkdns($result); + return $result; + } + + // If tld not known, and domain not in DNS, return error + return $this->Unknown(); + } + + /* Unsupported domains */ + + function Unknown() + { + unset($this->Query['server']); + $this->Query['status'] = 'error'; + $result['rawdata'][] = $this->Query['errstr'][] = $this->Query['query'].' domain is not supported'; + $this->Checkdns($result); + $this->FixResult($result, $this->Query['query']); + return $result; + } + + /* Get nameservers if missing */ + + function Checkdns(&$result) + { + if ($this->deep_whois && empty($result['regrinfo']['domain']['nserver']) && function_exists('dns_get_record')) + { + $ns = @dns_get_record($this->Query['query'],DNS_NS); + if (!is_array($ns)) return; + $nserver = array(); + foreach($ns as $row) $nserver[] = $row['target']; + if (count($nserver) > 0) + $result['regrinfo']['domain']['nserver'] = $this->FixNameServer($nserver); + } + } + /* + * Fix and/or add name server information + */ + + function FixResult(&$result, $domain) + { + // Add usual fields + $result['regrinfo']['domain']['name'] = $domain; + + // Check if nameservers exist + + if (!isset($result['regrinfo']['registered'])) + { + if (function_exists('checkdnsrr') && checkdnsrr($domain, 'NS')) + $result['regrinfo']['registered'] = 'yes'; + else + $result['regrinfo']['registered'] = 'unknown'; + } + + // Normalize nameserver fields + + if (isset($result['regrinfo']['domain']['nserver'])) + { + if (!is_array($result['regrinfo']['domain']['nserver'])) + { + unset($result['regrinfo']['domain']['nserver']); + } + else + $result['regrinfo']['domain']['nserver'] = $this->FixNameServer($result['regrinfo']['domain']['nserver']); + } + } + } + +?> diff --git a/wp-content/plugins/wordfence/lib/whois/whois.me.php b/wp-content/plugins/wordfence/lib/whois/whois.me.php new file mode 100644 index 0000000..09f518d --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.me.php @@ -0,0 +1,45 @@ + 'http://domain.me', + 'registrar' => 'doMEn' + ); + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.mobi.php b/wp-content/plugins/wordfence/lib/whois/whois.mobi.php new file mode 100644 index 0000000..56347e4 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.mobi.php @@ -0,0 +1,47 @@ + \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.museum.php b/wp-content/plugins/wordfence/lib/whois/whois.museum.php new file mode 100644 index 0000000..658a07c --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.museum.php @@ -0,0 +1,45 @@ + 'http://musedoma.museum', + 'registrar' => 'Museum Domain Management Association' + ); + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.mx.php b/wp-content/plugins/wordfence/lib/whois/whois.mx.php new file mode 100644 index 0000000..882c2c5 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.mx.php @@ -0,0 +1,70 @@ + 'Registrant:', + 'admin' => 'Administrative Contact:', + 'tech' => 'Technical Contact:', + 'billing' => 'Billing Contact:', + 'domain.nserver' => 'Name Servers:', + 'domain.created' => 'Created On:', + 'domain.expires' => 'Expiration Date:', + 'domain.changed' => 'Last Updated On:', + 'domain.sponsor' => 'Registrar:' + ); + + $extra = array( + 'city:' => 'address.city', + 'state:' => 'address.state', + 'dns:' => '0' + ); + + $r['regrinfo'] = easy_parser($data_str['rawdata'],$items,'dmy',$extra); + + $r['regyinfo'] = array( + 'registrar' => 'NIC Mexico', + 'referrer' => 'http://www.nic.mx/' + ); + + if (empty($r['regrinfo']['domain']['created'])) + $r['regrinfo']['registered'] = 'no'; + else + $r['regrinfo']['registered'] = 'yes'; + + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.name.php b/wp-content/plugins/wordfence/lib/whois/whois.name.php new file mode 100644 index 0000000..db2d695 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.name.php @@ -0,0 +1,45 @@ + 'http://www.nic.name/', + 'registrar' => 'Global Name Registry' + ); + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.nl.php b/wp-content/plugins/wordfence/lib/whois/whois.nl.php new file mode 100644 index 0000000..1b26106 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.nl.php @@ -0,0 +1,88 @@ + 'Domain name:', + 'domain.status' => 'Status:', + 'domain.nserver' => 'Domain nameservers:', + 'domain.created' => 'Date registered:', + 'domain.changed' => 'Record last updated:', + 'domain.sponsor' => 'Registrar:', + 'admin' => 'Administrative contact:', + 'tech' => 'Technical contact(s):' + ); + + $r['regrinfo'] = get_blocks($data['rawdata'], $items); + $r['regyinfo']['referrer'] = 'http://www.domain-registry.nl'; + $r['regyinfo']['registrar'] = 'Stichting Internet Domeinregistratie NL'; + + if (!isset($r['regrinfo']['domain']['status'])) + { + $r['regrinfo']['registered'] = 'no'; + return $r; + } + + if (isset($r['regrinfo']['tech'])) + $r['regrinfo']['tech'] = $this->get_contact($r['regrinfo']['tech']); + + if (isset($r['regrinfo']['zone'])) + $r['regrinfo']['zone'] = $this->get_contact($r['regrinfo']['zone']); + + if (isset($r['regrinfo']['admin'])) + $r['regrinfo']['admin'] = $this->get_contact($r['regrinfo']['admin']); + + if (isset($r['regrinfo']['owner'])) + $r['regrinfo']['owner'] = $this->get_contact($r['regrinfo']['owner']); + + $r['regrinfo']['registered'] = 'yes'; + format_dates($r,'dmy'); + return $r; + } + + function get_contact($data) + { + $r = get_contact($data); + + if (isset($r['name']) && preg_match('/^[A-Z0-9]+-[A-Z0-9]+$/',$r['name'])) + { + $r['handle'] = $r['name']; + $r['name'] = array_shift ($r['address']); + } + + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.nu.php b/wp-content/plugins/wordfence/lib/whois/whois.nu.php new file mode 100644 index 0000000..addb471 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.nu.php @@ -0,0 +1,90 @@ + 'Domain Name (UTF-8):', + 'created' => 'Record created on', + 'expires' => 'Record expires on', + 'changed' => 'Record last updated on', + 'status' => 'Record status:', + 'handle' => 'Record ID:' + ); + + while (list($key, $val) = each($data_str['rawdata'])) + { + $val = trim($val); + + if ($val != '') + { + if ($val == 'Domain servers in listed order:') + { + while (list($key, $val) = each($data_str['rawdata'])) + { + $val = trim($val); + if ($val == '') + break; + $r['regrinfo']['domain']['nserver'][] = $val; + } + break; + } + + reset($items); + + while (list($field, $match) = each($items)) + if (strstr($val, $match)) + { + $r['regrinfo']['domain'][$field] = trim(substr($val, strlen($match))); + break; + } + } + } + + if (isset($r['regrinfo']['domain'])) + $r['regrinfo']['registered'] = 'yes'; + else + $r['regrinfo']['registered'] = 'no'; + + $r['regyinfo'] = array( + 'whois' => 'whois.nic.nu', + 'referrer' => 'http://www.nunames.nu', + 'registrar' => '.NU Domain, Ltd' + ); + + format_dates($r, 'dmy'); + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.nz.php b/wp-content/plugins/wordfence/lib/whois/whois.nz.php new file mode 100644 index 0000000..6f17d2a --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.nz.php @@ -0,0 +1,102 @@ + 'domain.name', + 'query_status:' => 'domain.status', + 'ns_name_01:' => 'domain.nserver.0', + 'ns_name_02:' => 'domain.nserver.1', + 'ns_name_03:' => 'domain.nserver.2', + 'domain_dateregistered:' => 'domain.created', + 'domain_datelastmodified:' => 'domain.changed', + 'domain_datebilleduntil:' => 'domain.expires', + 'registrar_name:' => 'domain.sponsor', + 'registrant_contact_name:' => 'owner.name', + 'registrant_contact_address1:' => 'owner.address.address.0', + 'registrant_contact_address2:' => 'owner.address.address.1', + 'registrant_contact_address3:' => 'owner.address.address.2', + 'registrant_contact_postalcode:'=> 'owner.address.pcode', + 'registrant_contact_city:' => 'owner.address.city', + 'Registrant State/Province:' => 'owner.address.state', + 'registrant_contact_country:' => 'owner.address.country', + 'registrant_contact_phone:' => 'owner.phone', + 'registrant_contact_fax:' => 'owner.fax', + 'registrant_contact_email:' => 'owner.email', + 'admin_contact_name:' => 'admin.name', + 'admin_contact_address1:' => 'admin.address.address.0', + 'admin_contact_address2:' => 'admin.address.address.1', + 'admin_contact_address3:' => 'admin.address.address.2', + 'admin_contact_postalcode:' => 'admin.address.pcode', + 'admin_contact_city:' => 'admin.address.city', + 'admin_contact_country:' => 'admin.address.country', + 'admin_contact_phone:' => 'admin.phone', + 'admin_contact_fax:' => 'admin.fax', + 'admin_contact_email:' => 'admin.email', + 'technical_contact_name:' => 'tech.name', + 'technical_contact_address1:' => 'tech.address.address.0', + 'technical_contact_address1:' => 'tech.address.address.1', + 'technical_contact_address1:' => 'tech.address.address.2', + 'technical_contact_postalcode:' => 'tech.address.pcode', + 'technical_contact_city:' => 'tech.address.city', + 'technical_contact_country:' => 'tech.address.country', + 'technical_contact_phone:' => 'tech.phone', + 'technical_contact_fax:' => 'tech.fax', + 'technical_contact_email:' => 'tech.email' + ); + + $r['regrinfo'] = generic_parser_b($data_str['rawdata'], $items); + + if (!empty($r['regrinfo']['domain']['status'])) + $domain_status = substr($r['regrinfo']['domain']['status'],0,3); + else + $domain_status = ''; + + if ($domain_status=='200') + $r['regrinfo']['registered']='yes'; + elseif ($domain_status=='220') + $r['regrinfo']['registered']='no'; + else + $r['regrinfo']['registered']='unknown'; + + if (!strncmp($data_str['rawdata'][0], 'WHOIS LIMIT EXCEEDED', 20)) + $r['regrinfo']['registered'] = 'unknown'; + + $r['regyinfo']['referrer'] = 'http://www.dnc.org.nz'; + $r['regyinfo']['registrar'] = 'New Zealand Domain Name Registry Limited'; + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.org.php b/wp-content/plugins/wordfence/lib/whois/whois.org.php new file mode 100644 index 0000000..7dc45f9 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.org.php @@ -0,0 +1,47 @@ + \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.org.za.php b/wp-content/plugins/wordfence/lib/whois/whois.org.za.php new file mode 100644 index 0000000..13d38b0 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.org.za.php @@ -0,0 +1,64 @@ + 'Status:', + 'domain.nserver' => 'Domain name servers in listed order:', + 'domain.changed' => 'Record last updated on', + 'owner' => 'rwhois search on', + 'admin' => 'Administrative Contact:', + 'tech' => 'Technical Contact:', + 'billing' => 'Billing Contact:', + '#' => 'Search Again' + ); + + $r['regrinfo'] = get_blocks($data['rawdata'], $items); + + if (isset($r['regrinfo']['domain']['status'])) + { + $r['regrinfo']['registered'] = 'yes'; + $r['regrinfo']['domain']['handler'] = strtok(array_shift($r['regrinfo']['owner']),' '); + $r['regrinfo'] = get_contacts($r['regrinfo']); + } + else + $r['regrinfo']['registered'] = 'no'; + + $r['regyinfo']['referrer'] = 'http://www.org.za'; + $r['regyinfo']['registrar'] = 'The ORG.ZA Domain'; + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.parser.php b/wp-content/plugins/wordfence/lib/whois/whois.parser.php new file mode 100644 index 0000000..d11243a --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.parser.php @@ -0,0 +1,873 @@ + 'domain.name', + 'Domain ID:' => 'domain.handle', + 'Sponsoring Registrar:' => 'domain.sponsor', + 'Registrar ID:' => 'domain.sponsor', + 'Domain Status:' => 'domain.status.', + 'Status:' => 'domain.status.', + 'Name Server:' => 'domain.nserver.', + 'Nameservers:' => 'domain.nserver.', + 'Maintainer:' => 'domain.referer', + + 'Domain Registration Date:' => 'domain.created', + 'Domain Create Date:' => 'domain.created', + 'Domain Expiration Date:' => 'domain.expires', + 'Domain Last Updated Date:' => 'domain.changed', + 'Creation Date:' => 'domain.created', + 'Last Modification Date:' => 'domain.changed', + 'Expiration Date:' => 'domain.expires', + 'Created On:' => 'domain.created', + 'Last Updated On:' => 'domain.changed', + 'Expiration Date:' => 'domain.expires', + + 'Registrant ID:' => 'owner.handle', + 'Registrant Name:' => 'owner.name', + 'Registrant Organization:' => 'owner.organization', + 'Registrant Address:' => 'owner.address.street.', + 'Registrant Address1:' => 'owner.address.street.', + 'Registrant Address2:' => 'owner.address.street.', + 'Registrant Street:' => 'owner.address.street.', + 'Registrant Street1:' => 'owner.address.street.', + 'Registrant Street2:' => 'owner.address.street.', + 'Registrant Street3:' => 'owner.address.street.', + 'Registrant Postal Code:' => 'owner.address.pcode', + 'Registrant City:' => 'owner.address.city', + 'Registrant State/Province:' => 'owner.address.state', + 'Registrant Country:' => 'owner.address.country', + 'Registrant Country/Economy:' => 'owner.address.country', + 'Registrant Phone Number:' => 'owner.phone', + 'Registrant Phone:' => 'owner.phone', + 'Registrant Facsimile Number:' => 'owner.fax', + 'Registrant FAX:' => 'owner.fax', + 'Registrant Email:' => 'owner.email', + 'Registrant E-mail:' => 'owner.email', + + 'Administrative Contact ID:' => 'admin.handle', + 'Administrative Contact Name:' => 'admin.name', + 'Administrative Contact Organization:' => 'admin.organization', + 'Administrative Contact Address:' => 'admin.address.street.', + 'Administrative Contact Address1:' => 'admin.address.street.', + 'Administrative Contact Address2:' => 'admin.address.street.', + 'Administrative Contact Postal Code:' => 'admin.address.pcode', + 'Administrative Contact City:' => 'admin.address.city', + 'Administrative Contact State/Province:' => 'admin.address.state', + 'Administrative Contact Country:' => 'admin.address.country', + 'Administrative Contact Phone Number:' => 'admin.phone', + 'Administrative Contact Email:' => 'admin.email', + 'Administrative Contact Facsimile Number:' => 'admin.fax', + 'Administrative Contact Tel:' => 'admin.phone', + 'Administrative Contact Fax:' => 'admin.fax', + 'Administrative ID:' => 'admin.handle', + 'Administrative Name:' => 'admin.name', + 'Administrative Organization:' => 'admin.organization', + 'Administrative Address:' => 'admin.address.street.', + 'Administrative Address1:' => 'admin.address.street.', + 'Administrative Address2:' => 'admin.address.street.', + 'Administrative Postal Code:' => 'admin.address.pcode', + 'Administrative City:' => 'admin.address.city', + 'Administrative State/Province:' => 'admin.address.state', + 'Administrative Country/Economy:' => 'admin.address.country', + 'Administrative Phone:' => 'admin.phone', + 'Administrative E-mail:' => 'admin.email', + 'Administrative Facsimile Number:' => 'admin.fax', + 'Administrative Tel:' => 'admin.phone', + 'Administrative FAX:' => 'admin.fax', + 'Admin ID:' => 'admin.handle', + 'Admin Name:' => 'admin.name', + 'Admin Organization:' => 'admin.organization', + 'Admin Street:' => 'admin.address.street.', + 'Admin Street1:' => 'admin.address.street.', + 'Admin Street2:' => 'admin.address.street.', + 'Admin Street3:' => 'admin.address.street.', + 'Admin Address:' => 'admin.address.street.', + 'Admin Address2:' => 'admin.address.street.', + 'Admin Address3:' => 'admin.address.street.', + 'Admin City:' => 'admin.address.city', + 'Admin State/Province:' => 'admin.address.state', + 'Admin Postal Code:' => 'admin.address.pcode', + 'Admin Country:' => 'admin.address.country', + 'Admin Country/Economy:' => 'admin.address.country', + 'Admin Phone:' => 'admin.phone', + 'Admin FAX:' => 'admin.fax', + 'Admin Email:' => 'admin.email', + 'Admin E-mail:' => 'admin.email', + + 'Technical Contact ID:' => 'tech.handle', + 'Technical Contact Name:' => 'tech.name', + 'Technical Contact Organization:' => 'tech.organization', + 'Technical Contact Address:' => 'tech.address.street.', + 'Technical Contact Address1:' => 'tech.address.street.', + 'Technical Contact Address2:' => 'tech.address.street.', + 'Technical Contact Postal Code:' => 'tech.address.pcode', + 'Technical Contact City:' => 'tech.address.city', + 'Technical Contact State/Province:' => 'tech.address.state', + 'Technical Contact Country:' => 'tech.address.country', + 'Technical Contact Phone Number:' => 'tech.phone', + 'Technical Contact Facsimile Number:' => 'tech.fax', + 'Technical Contact Phone:' => 'tech.phone', + 'Technical Contact Fax:' => 'tech.fax', + 'Technical Contact Email:' => 'tech.email', + 'Technical ID:' => 'tech.handle', + 'Technical Name:' => 'tech.name', + 'Technical Organization:' => 'tech.organization', + 'Technical Address:' => 'tech.address.street.', + 'Technical Address1:' => 'tech.address.street.', + 'Technical Address2:' => 'tech.address.street.', + 'Technical Postal Code:' => 'tech.address.pcode', + 'Technical City:' => 'tech.address.city', + 'Technical State/Province:' => 'tech.address.state', + 'Technical Country/Economy:' => 'tech.address.country', + 'Technical Phone Number:' => 'tech.phone', + 'Technical Facsimile Number:' => 'tech.fax', + 'Technical Phone:' => 'tech.phone', + 'Technical Fax:' => 'tech.fax', + 'Technical FAX:' => 'tech.fax', + 'Technical E-mail:' => 'tech.email', + 'Tech ID:' => 'tech.handle', + 'Tech Name:' => 'tech.name', + 'Tech Organization:' => 'tech.organization', + 'Tech Address:' => 'tech.address.street.', + 'Tech Address2:' => 'tech.address.street.', + 'Tech Address3:' => 'tech.address.street.', + 'Tech Street:' => 'tech.address.street.', + 'Tech Street1:' => 'tech.address.street.', + 'Tech Street2:' => 'tech.address.street.', + 'Tech Street3:' => 'tech.address.street.', + 'Tech City:' => 'tech.address.city', + 'Tech Postal Code:' => 'tech.address.pcode', + 'Tech State/Province:' => 'tech.address.state', + 'Tech Country:' => 'tech.address.country', + 'Tech Country/Economy:' => 'tech.address.country', + 'Tech Phone:' => 'tech.phone', + 'Tech FAX:' => 'tech.fax', + 'Tech Email:' => 'tech.email', + 'Tech E-mail:' => 'tech.email', + + 'Billing Contact ID:' => 'billing.handle', + 'Billing Contact Name:' => 'billing.name', + 'Billing Contact Organization:' => 'billing.organization', + 'Billing Contact Address1:' => 'billing.address.street.', + 'Billing Contact Address2:' => 'billing.address.street.', + 'Billing Contact Postal Code:' => 'billing.address.pcode', + 'Billing Contact City:' => 'billing.address.city', + 'Billing Contact State/Province:' => 'billing.address.state', + 'Billing Contact Country:' => 'billing.address.country', + 'Billing Contact Phone Number:' => 'billing.phone', + 'Billing Contact Facsimile Number:' => 'billing.fax', + 'Billing Contact Email:' => 'billing.email', + 'Billing ID:' => 'billing.handle', + 'Billing Name:' => 'billing.name', + 'Billing Organization:' => 'billing.organization', + 'Billing Address:' => 'billing.address.street.', + 'Billing Address1:' => 'billing.address.street.', + 'Billing Address2:' => 'billing.address.street.', + 'Billing Address3:' => 'billing.address.street.', + 'Billing Street:' => 'billing.address.street.', + 'Billing Street1:' => 'billing.address.street.', + 'Billing Street2:' => 'billing.address.street.', + 'Billing Street3:' => 'billing.address.street.', + 'Billing City:' => 'billing.address.city', + 'Billing Postal Code:' => 'billing.address.pcode', + 'Billing State/Province:' => 'billing.address.state', + 'Billing Country:' => 'billing.address.country', + 'Billing Country/Economy:' => 'billing.address.country', + 'Billing Phone:' => 'billing.phone', + 'Billing Fax:' => 'billing.fax', + 'Billing FAX:' => 'billing.fax', + 'Billing Email:' => 'billing.email', + 'Billing E-mail:' => 'billing.email', + + 'Zone ID:' => 'zone.handle', + 'Zone Organization:' => 'zone.organization', + 'Zone Name:' => 'zone.name', + 'Zone Address:' => 'zone.address.street.', + 'Zone Address 2:' => 'zone.address.street.', + 'Zone City:' => 'zone.address.city', + 'Zone State/Province:' => 'zone.address.state', + 'Zone Postal Code:' => 'zone.address.pcode', + 'Zone Country:' => 'zone.address.country', + 'Zone Phone Number:' => 'zone.phone', + 'Zone Fax Number:' => 'zone.fax', + 'Zone Email:' => 'zone.email' + ); + +$r = ''; +$disok = true; + +while (list($key,$val) = each($rawdata)) + { + if (trim($val) != '') + { + if (($val[0]=='%' || $val[0]=='#') && $disok) + { + $r['disclaimer'][] = trim(substr($val,1)); + $disok = true; + continue; + } + + $disok = false; + reset($items); + + while (list($match, $field)=each($items)) + { + $pos = strpos($val,$match); + + if ($pos !== false) + { + if ($field != '') + { + $var = '$r'.getvarname($field); + $itm = trim(substr($val,$pos+strlen($match))); + + if ($itm!='') + eval($var.'="'.str_replace('"','\"',$itm).'";'); + } + + if (!$scanall) + break; + } + } + } + } + +if (empty($r)) + { + if ($hasreg) $r['registered'] = 'no'; + } +else + { + if ($hasreg) $r['registered'] = 'yes'; + + $r = format_dates($r, $dateformat); + } + +return $r; +} + +//------------------------------------------------------------------------- + +function getvarname ( $vdef ) +{ +$parts = explode('.',$vdef); +$var = ''; + +foreach($parts as $mn) + if ($mn == '') $var = $var.'[]'; + else $var = $var.'["'.$mn.'"]'; + +return $var; +} + +//------------------------------------------------------------------------- + +function get_blocks ( $rawdata, $items, $partial_match = false, $def_block = false ) +{ + +$r = array(); +$endtag = ''; + +while (list($key,$val) = each($rawdata)) + { + $val = trim($val); + if ($val == '') continue; + + $var = $found = false; + + foreach ($items as $field => $match) + { + $pos = strpos($val,$match); + + if ($field != '' && $pos !== false) + { + if ($val == $match) + { + $found = true; + $endtag = ''; + $line = $val; + break; + } + + $last = substr($val,-1,1); + + if ($last == ':' || $last == '-' || $last == ']') + { + $found = true; + $endtag = $last; + $line = $val; + } + else + { + $var = getvarname(strtok($field,'#')); + $itm = trim(substr($val,$pos+strlen($match))); + eval('$r'.$var.'=$itm;'); + } + + break; + } + } + + if (!$found) + { + if (!$var && $def_block) $r[$def_block][] = $val; + continue; + } + + $block = array(); + + // Block found, get data ... + + while (list($key,$val) = each($rawdata)) + { + $val = trim($val); + + if ($val == '' || $val == str_repeat($val[0],strlen($val))) continue; + + $last = substr($val,-1,1); +/* + if ($last == $endtag) + { + // Another block found + prev($rawdata); + break; + } + + if ($endtag == '' || $partial_match) + */ + if ($endtag == '' || $partial_match || $last == $endtag) + { + //Check if this line starts another block + $et = false; + + foreach ($items as $field => $match) + { + $pos = strpos($val,$match); + + if ($pos !== false && $pos == 0) + { + $et = true; + break; + } + } + + if ($et) + { + // Another block found + prev($rawdata); + break; + } + } + + $block[] = $val; + } + + if (empty($block)) continue; + + foreach ($items as $field => $match) + { + $pos = strpos($line,$match); + + if ($pos !== false) + { + $var = getvarname(strtok($field,'#')); + if ($var != '[]') eval('$r'.$var.'=$block;'); + } + } + } + +return $r; +} + +//------------------------------------------------------------------------- + +function easy_parser($data_str, $items, $date_format, $translate = false , + $has_org = false, $partial_match = false, + $def_block = false ) +{ +$r = get_blocks($data_str, $items, $partial_match, $def_block); +$r = get_contacts($r, $translate, $has_org); +format_dates($r, $date_format); +return $r; +} + +//------------------------------------------------------------------------- + +function get_contacts ( $array, $extra_items='', $has_org= false ) +{ +if (isset($array['billing'])) + $array['billing'] = get_contact($array['billing'], $extra_items, $has_org); + +if (isset($array['tech'])) + $array['tech'] = get_contact($array['tech'], $extra_items, $has_org); + +if (isset($array['zone'])) + $array['zone'] = get_contact($array['zone'], $extra_items, $has_org); + +if (isset($array['admin'])) + $array['admin'] = get_contact($array['admin'], $extra_items, $has_org); + +if (isset($array['owner'])) + $array['owner'] = get_contact($array['owner'], $extra_items, $has_org); + +if (isset($array['registrar'])) + $array['registrar'] = get_contact($array['registrar'], $extra_items, $has_org); + +return $array; +} + +//------------------------------------------------------------------------- + +function get_contact ( $array, $extra_items='', $has_org= false ) +{ + +if (!is_array($array)) + return array(); + +$items = array ( + 'fax..:' => 'fax', + 'fax.' => 'fax', + 'fax-no:' => 'fax', + 'fax -' => 'fax', + 'fax-' => 'fax', + 'fax::' => 'fax', + 'fax:' => 'fax', + '[fax]' => 'fax', + '(fax)' => 'fax', + 'fax' => 'fax', + 'tel. ' => 'phone', + 'tel:' => 'phone', + 'phone::' => 'phone', + 'phone:' => 'phone', + 'phone-' => 'phone', + 'phone -' => 'phone', + 'email:' => 'email', + 'e-mail:' => 'email', + 'company name:' => 'organization', + 'organisation:' => 'organization', + 'first name:' => 'name.first', + 'last name:' => 'name.last', + 'street:' => 'address.street', + 'address:' => 'address.street.', + 'language:' => '', + 'location:' => 'address.city', + 'country:' => 'address.country', + 'name:' => 'name', + 'last modified:' => 'changed' + ); + +if ($extra_items) + { + foreach($items as $match => $field) + if (!isset($extra_items[$match])) + $extra_items[$match] = $field; + $items = $extra_items; + } + +while (list($key,$val)=each($array)) + { + $ok=true; + + while ($ok) + { + reset($items); + $ok = false; + + while (list($match,$field) = each($items)) + { + $pos = strpos(strtolower($val),$match); + + if ($pos === false) continue; + + $itm = trim(substr($val,$pos+strlen($match))); + + if ($field != '' && $itm != '') + { + eval('$r'.getvarname($field).'=$itm;'); + } + + $val = trim(substr($val,0,$pos)); + + if ($val == '') + { + unset($array[$key]); + break; + } + else + { + $array[$key] = $val; + $ok = true; + } + //break; + } + + if (preg_match("/([+]*[-\(\)\. x0-9]){7,}/", $val, $matches)) + { + $phone = trim(str_replace(' ','',$matches[0])); + + if (strlen($phone) > 8 && !preg_match('/[0-9]{5}\-[0-9]{3}/',$phone)) + { + if (isset($r['phone'])) + { + if (isset($r['fax'])) continue; + $r['fax'] = trim($matches[0]); + } + else + { + $r['phone'] = trim($matches[0]); + } + + $val = str_replace($matches[0],'',$val); + + if ($val == '') + { + unset($array[$key]); + continue; + } + else + { + $array[$key] = $val; + $ok = true; + } + } + } + + if (preg_match('/([-0-9a-zA-Z._+&\/=]+@([-0-9a-zA-Z]+[.])+[a-zA-Z]{2,6})/',$val, $matches)) + { + $r['email'] = $matches[0]; + + $val = str_replace($matches[0],'',$val); + $val = trim(str_replace('()','',$val)); + + if ($val == '') + { + unset($array[$key]); + continue; + } + else + { + if (!isset($r['name'])) + { + $r['name'] = $val; + unset($array[$key]); + } + else + $array[$key] = $val; + + $ok = true; + } + } + } + } + +if (!isset($r['name']) && count($array)>0) + { + $r['name'] = array_shift($array); + } + +if ($has_org && count($array)>0) + { + $r['organization'] = array_shift($array); + } + +if (isset($r['name']) && is_array($r['name'])) + { + $r['name'] = implode($r['name'],' '); + } + +if (!empty($array)) + { + if (isset($r['address'])) + $r['address'] = array_merge($r['address'],$array); + else + $r['address'] = $array; + } + +return $r; +} + +//------------------------------------------------------------------------- + +function format_dates (&$res,$format='mdy') +{ +if (!is_array($res)) return $res; + +foreach ($res as $key => $val) + { + if (is_array($val)) + { + if (!is_numeric($key) && ($key=='expires' || $key=='created' || $key=='changed')) + { + $d = get_date($val[0],$format); + if ($d) $res[$key] = $d; + } + else + { + $res[$key] = format_dates($val,$format); + } + } + else + { + if (!is_numeric($key) && ($key=='expires' || $key=='created' || $key=='changed')) + { + $d = get_date($val,$format); + if ($d) $res[$key] = $d; + } + } + } + +return $res; +} + +//------------------------------------------------------------------------- + +function get_date($date,$format) +{ +$months = array( 'jan'=>1, 'ene'=>1, 'feb'=>2, 'mar'=>3, 'apr'=>4, 'abr'=>4, + 'may'=>5, 'jun'=>6, 'jul'=>7, 'aug'=>8, 'ago'=>8, 'sep'=>9, + 'oct'=>10, 'nov'=>11, 'dec'=>12, 'dic'=>12 ); + +$parts = explode(' ',$date); + +if (strpos($parts[0],'@') !== false) + { + unset($parts[0]); + $date = implode(' ',$parts); + } + +$date = str_replace(',',' ',trim($date)); +$date = str_replace('.',' ',$date); +$date = str_replace('-',' ',$date); +$date = str_replace('/',' ',$date); +$date = str_replace("\t",' ',$date); + +$parts = explode(' ',$date); +$res = false; + +if ((strlen($parts[0]) == 8 || count($parts) == 1) && is_numeric($parts[0])) + { + $val = $parts[0]; + for ($p=$i=0; $i<3; $i++) + { + if ($format[$i] != 'Y') + { + $res[$format[$i]] = substr($val,$p,2); + $p += 2; + } + else + { + $res['y'] = substr($val,$p,4); + $p += 4; + } + } + } +else + { + $format = strtolower($format); + + for ($p=$i=0; $p 1900) + { + $res[$key] = $res['y']; + $res['y'] = $val; + $ok = false; + break; + } + } + } + +if ($res['m'] > 12) + { + $v = $res['m']; + $res['m'] = $res['d']; + $res['d'] = $v; + } + +if ($res['y'] < 70) + $res['y'] += 2000; +else + if ($res['y'] <= 99) + $res['y'] += 1900; + +return sprintf("%.4d-%02d-%02d",$res['y'],$res['m'],$res['d']); +} + +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.pl.php b/wp-content/plugins/wordfence/lib/whois/whois.pl.php new file mode 100644 index 0000000..5228954 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.pl.php @@ -0,0 +1,54 @@ + 'created:', + 'domain.changed' => 'last modified:', + 'domain.sponsor' => 'REGISTRAR:', + '#' => 'WHOIS displays data with a delay not exceeding 15 minutes in relation to the .pl Registry system' + + ); + + $r['regrinfo'] = easy_parser($data_str['rawdata'], $items, 'ymd'); + + $r['regyinfo'] = array( + 'referrer' => 'http://www.dns.pl/english/index.html', + 'registrar' => 'NASK' + ); + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.pro.php b/wp-content/plugins/wordfence/lib/whois/whois.pro.php new file mode 100644 index 0000000..7c09bd4 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.pro.php @@ -0,0 +1,43 @@ + \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.pt.php b/wp-content/plugins/wordfence/lib/whois/whois.pt.php new file mode 100644 index 0000000..ddda050 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.pt.php @@ -0,0 +1,81 @@ + ' / Domain Name:', + 'domain.created' => 'Data de registo / Creation Date (dd/mm/yyyy):', + 'domain.nserver.' => 'Nameserver:', + 'domain.status' => 'Estado / Status:', + 'owner' => 'Titular / Registrant', + 'billing' => 'Entidade Gestora / Billing Contact', + 'admin' => 'Responsável Administrativo / Admin Contact', + 'tech' => 'Responsável Técnico / Tech Contact', + '#' => 'Nameserver Information' + ); + + $r['regrinfo'] = get_blocks($data['rawdata'], $items); + + if (empty($r['regrinfo']['domain']['name'])) + { + print_r($r['regrinfo']); + $r['regrinfo']['registered'] = 'no'; + return $r; + } + + $r['regrinfo']['domain']['created'] = get_date($r['regrinfo']['domain']['created'], 'dmy'); + + if ($r['regrinfo']['domain']['status'] == 'ACTIVE') + { + $r['regrinfo'] = get_contacts($r['regrinfo']); + $r['regrinfo']['registered'] = 'yes'; + } + else + $r['regrinfo']['registered'] = 'no'; + + $r['regyinfo'] = array( + 'referrer' => 'http://www.fccn.pt', + 'registrar' => 'FCCN' + ); + + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.ro.php b/wp-content/plugins/wordfence/lib/whois/whois.ro.php new file mode 100644 index 0000000..3c61775 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.ro.php @@ -0,0 +1,99 @@ + 'fax', + 'e-mail' => 'email', + 'nic-hdl' => 'handle', + 'person' => 'name', + 'address' => 'address.', + 'domain-name' => '', + 'updated' => 'changed', + 'registration-date' => 'created', + 'domain-status' => 'status', + 'nameserver' => 'nserver' + ); + + $contacts = array( + 'admin-contact' => 'admin', + 'technical-contact' => 'tech', + 'zone-contact' => 'zone', + 'billing-contact' => 'billing' + ); + + $extra = array( + 'postal code:' => 'address.pcode' + ); + + $reg = generic_parser_a($data_str['rawdata'], $translate, $contacts, 'domain','Ymd'); + + if (isset($reg['domain']['description'])) + { + $reg['owner'] = get_contact($reg['domain']['description'],$extra); + unset($reg['domain']['description']); + + foreach($reg as $key => $item) + { + if (isset($item['address'])) + { + $data = $item['address']; + unset($reg[$key]['address']); + $reg[$key] = array_merge($reg[$key],get_contact($data,$extra)); + } + } + + $reg['registered'] = 'yes'; + } + else + $reg['registered'] = 'no'; + + $r['regrinfo'] = $reg; + $r['regyinfo'] = array( + 'referrer' => 'http://www.nic.ro', + 'registrar' => 'nic.ro' + ); + + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.ru.php b/wp-content/plugins/wordfence/lib/whois/whois.ru.php new file mode 100644 index 0000000..f2419c7 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.ru.php @@ -0,0 +1,63 @@ + 'domain.name', + 'state:' => 'domain.status', + 'nserver:' => 'domain.nserver.', + 'source:' => 'domain.source', + 'created:' => 'domain.created', + 'paid-till:' => 'domain.expires', + 'type:' => 'owner.type', + 'org:' => 'owner.organization', + 'phone:' => 'owner.phone', + 'fax-no:' => 'owner.fax', + 'email:' => 'admin.email' + ); + + $r['regrinfo'] = generic_parser_b($data_str['rawdata'], $items, 'dmy'); + + if (empty($r['regrinfo']['domain']['status'])) + $r['regrinfo']['registered'] = 'no'; + + $r['regyinfo'] = array( + 'referrer' => 'http://www.ripn.net', + 'registrar' => 'RUCENTER-REG-RIPN' + ); + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.rwhois.php b/wp-content/plugins/wordfence/lib/whois/whois.rwhois.php new file mode 100644 index 0000000..04bc31f --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.rwhois.php @@ -0,0 +1,58 @@ + 'owner.name', + 'network:Organization;I:' => 'owner.organization', + 'network:Organization-City:' => 'owner.address.city', + 'network:Organization-Zip:' => 'owner.address.pcode', + 'network:Organization-Country:' => 'owner.address.country', + 'network:IP-Network-Block:' => 'network.inetnum', + 'network:IP-Network:' => 'network.inetnum', + 'network:Network-Name:' => 'network.name', + 'network:ID:' => 'network.handle', + 'network:Created:' => 'network.created', + 'network:Updated:' => 'network.changed', + 'network:Tech-Contact;I:' => 'tech.email', + 'network:Admin-Contact;I:' => 'admin.email' + ); + + $res = generic_parser_b($data_str, $items, 'Ymd', false); + if (isset($res['disclaimer'])) unset($res['disclaimer']); + return array( 'regrinfo' => $res ); + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.sc.php b/wp-content/plugins/wordfence/lib/whois/whois.sc.php new file mode 100644 index 0000000..663b83e --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.sc.php @@ -0,0 +1,45 @@ + 'http://www.nic.sc', + 'registrar' => 'VCS (Pty) Limited' + ); + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.se.php b/wp-content/plugins/wordfence/lib/whois/whois.se.php new file mode 100644 index 0000000..a463382 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.se.php @@ -0,0 +1,58 @@ + 'domain.name', + 'state:' => 'domain.status.', + 'status:' => 'domain.status.', + 'expires:' => 'domain.expires', + 'created:' => 'domain.created', + 'nserver:' => 'domain.nserver.', + 'holder:' => 'owner.handle' + ); + + $r['regrinfo'] = generic_parser_b($data_str['rawdata'], $items, 'ymd', false); + + $r['regrinfo']['registered'] = isset($r['regrinfo']['domain']['name']) ? 'yes' : 'no'; + + $r['regyinfo'] = array( + 'referrer' => 'http://www.nic-se.se', + 'registrar' => 'NIC-SE' + ); + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.servers.php b/wp-content/plugins/wordfence/lib/whois/whois.servers.php new file mode 100644 index 0000000..d0eb2a3 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.servers.php @@ -0,0 +1,252 @@ +DATA_VERSION = '19'; + +$this->DATA = array( + 'bz' => 'gtld', + 'com' => 'gtld', + 'jobs' => 'gtld', + 'li' => 'ch', + 'net' => 'gtld', + 'tv' => 'gtld', + 'za.org' => 'zanet', + 'za.net' => 'zanet' + ); + +/* Non UTF-8 servers */ + +$this->NON_UTF8 = array( + 'br.whois-servers.net' => 1, + 'ca.whois-servers.net' => 1, + 'cl.whois-servers.net' => 1, + 'hu.whois-servers.net' => 1, + 'is.whois-servers.net' => 1, + 'pt.whois-servers.net' => 1, + 'whois.interdomain.net' => 1, + 'whois.lacnic.net' => 1, + 'whois.nicline.com' => 1, + 'whois.ripe.net' => 1 + ); + +/* If whois Server needs any parameters, enter it here */ + +$this->WHOIS_PARAM = array( + 'com.whois-servers.net' => 'domain =$', + 'net.whois-servers.net' => 'domain =$', + 'de.whois-servers.net' => '-T dn,ace $', + 'jp.whois-servers.net' => 'DOM $/e' + ); + +/* TLD's that have special whois servers or that can only be reached via HTTP */ + +$this->WHOIS_SPECIAL = array( + 'ad' => '', + 'ae' => 'whois.aeda.net.ae', + 'af' => 'whois.nic.af', + 'ai' => 'http://whois.offshore.ai/cgi-bin/whois.pl?domain-name={domain}.ai', + 'al' => '', + 'az' => '', + 'ba' => '', + 'bb' => 'http://domains.org.bb/regsearch/getdetails.cfm?DND={domain}.bb', + 'bg' => 'http://www.register.bg/bg-nic/displaydomain.pl?domain={domain}.bg&search=exist', + 'bi' => 'whois.nic.bi', + 'bj' => 'whois.nic.bj', + 'by' => '', + 'bz' => 'whois2.afilias-grs.net', + 'cy' => '', + 'es' => '', + 'fj' => 'whois.usp.ac.fj', + 'fm' => 'http://www.dot.fm/query_whois.cfm?domain={domain}&tld=fm', + 'jobs' => 'jobswhois.verisign-grs.com', + 'ke' => 'kenic.or.ke', + 'la' => 'whois.centralnic.net', + 'gr' => '', + 'gs' => 'http://www.adamsnames.tc/whois/?domain={domain}.gs', + 'gt' => 'http://www.gt/Inscripcion/whois.php?domain={domain}.gt', + 'me' => 'whois.meregistry.net', + 'mobi' => 'whois.dotmobiregistry.net', + 'ms' => 'http://www.adamsnames.tc/whois/?domain={domain}.ms', + 'mt' => 'http://www.um.edu.mt/cgi-bin/nic/whois?domain={domain}.mt', + 'nl' => 'whois.domain-registry.nl', + 'ly' => 'whois.nic.ly', + 'pe' => 'kero.rcp.net.pe', + 'pr' => 'whois.uprr.pr', + 'pro' => 'whois.registry.pro', + 'sc' => 'whois2.afilias-grs.net', + 'tc' => 'http://www.adamsnames.tc/whois/?domain={domain}.tc', + 'tf' => 'http://www.adamsnames.tc/whois/?domain={domain}.tf', + 've' => 'whois.nic.ve', + 'vg' => 'http://www.adamsnames.tc/whois/?domain={domain}.vg', + // Second level + 'net.au' => 'whois.aunic.net', + 'ae.com' => 'whois.centralnic.net', + 'br.com' => 'whois.centralnic.net', + 'cn.com' => 'whois.centralnic.net', + 'de.com' => 'whois.centralnic.net', + 'eu.com' => 'whois.centralnic.net', + 'hu.com' => 'whois.centralnic.net', + 'jpn.com'=> 'whois.centralnic.net', + 'kr.com' => 'whois.centralnic.net', + 'gb.com' => 'whois.centralnic.net', + 'no.com' => 'whois.centralnic.net', + 'qc.com' => 'whois.centralnic.net', + 'ru.com' => 'whois.centralnic.net', + 'sa.com' => 'whois.centralnic.net', + 'se.com' => 'whois.centralnic.net', + 'za.com' => 'whois.centralnic.net', + 'uk.com' => 'whois.centralnic.net', + 'us.com' => 'whois.centralnic.net', + 'uy.com' => 'whois.centralnic.net', + 'gb.net' => 'whois.centralnic.net', + 'se.net' => 'whois.centralnic.net', + 'uk.net' => 'whois.centralnic.net', + 'za.net' => 'whois.za.net', + 'za.org' => 'whois.za.net', + 'co.za' => 'http://co.za/cgi-bin/whois.sh?Domain={domain}.co.za', + 'org.za' => 'http://www.org.za/cgi-bin/rwhois?domain={domain}.org.za&format=full' + ); + +/* handled gTLD whois servers */ + +$this->WHOIS_GTLD_HANDLER = array( + 'whois.bulkregister.com' => 'enom', + 'whois.dotregistrar.com' => 'dotster', + 'whois.namesdirect.com' => 'dotster', + 'whois.psi-usa.info' => 'psiusa', + 'whois.www.tv' => 'tvcorp', + 'whois.tucows.com' => 'opensrs', + 'whois.35.com' => 'onlinenic', + 'whois.nominalia.com' => 'genericb', + 'whois.encirca.com' => 'genericb', + 'whois.corenic.net' => 'genericb' + ); + +/* Non ICANN TLD's */ + +$this->WHOIS_NON_ICANN = array ( + 'agent' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'agente' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'america' => 'http://www.adns.net/whois.php?txtDOMAIN={domain}.{tld}', + 'amor' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'amore' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'amour' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'arte' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'artes' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'arts' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'asta' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'auction' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'auktion' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'boutique' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'chat' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'chiesa' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'church' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'cia' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'ciao' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'cie' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'club' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'clube' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'com2' => 'http://www.adns.net/whois.php?txtDOMAIN={domain}.{tld}', + 'deporte' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'ditta' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'earth' => 'http://www.adns.net/whois.php?txtDOMAIN={domain}.{tld}', + 'eglise' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'enchere' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'escola' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'escuela' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'esporte' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'etc' => 'http://www.adns.net/whois.php?txtDOMAIN={domain}.{tld}', + 'famiglia' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'familia' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'familie' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'family' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'free' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'hola' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'game' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'ges' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'gmbh' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'golf' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'gratis' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'gratuit' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'iglesia' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'igreja' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'inc' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'jeu' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'jogo' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'juego' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'kids' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'kirche' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'krunst' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'law' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'legge' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'lei' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'leilao' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'ley' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'liebe' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'lion' => 'http://www.adns.net/whois.php?txtDOMAIN={domain}.{tld}', + 'llc' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'llp' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'loi' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'loja' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'love' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'ltd' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'makler' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'med' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'mp3' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'not' => 'http://www.adns.net/whois.php?txtDOMAIN={domain}.{tld}', + 'online' => 'http://www.adns.net/whois.php?txtDOMAIN={domain}.{tld}', + 'recht' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'reise' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'resto' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'school' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'schule' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'scifi' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'scuola' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'shop' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'soc' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'spiel' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'sport' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'subasta' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'tec' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'tech' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'tienda' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'travel' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'turismo' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'usa' => 'http://www.adns.net/whois.php?txtDOMAIN={domain}.{tld}', + 'verein' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'viaje' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'viagem' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'video' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'voyage' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'xxx' => 'http://www.new.net/search_whois.tp?domain={domain}&tld={tld}', + 'z' => 'http://www.adns.net/whois.php?txtDOMAIN={domain}.{tld}' + ); +?> diff --git a/wp-content/plugins/wordfence/lib/whois/whois.si.php b/wp-content/plugins/wordfence/lib/whois/whois.si.php new file mode 100644 index 0000000..d50ed2b --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.si.php @@ -0,0 +1,55 @@ + 'handle', + 'nameserver' => 'nserver' + ); + + $contacts = array( + 'registrant' => 'owner', + 'tech-c' => 'tech' + ); + + $r['regrinfo'] = generic_parser_a($data_str['rawdata'], $translate, $contacts, 'domain', 'Ymd'); + $r['regyinfo'] = array( + 'referrer' => 'http://www.arnes.si', + 'registrar' => 'ARNES' + ); + return $r; + } + } +?> diff --git a/wp-content/plugins/wordfence/lib/whois/whois.su.php b/wp-content/plugins/wordfence/lib/whois/whois.su.php new file mode 100644 index 0000000..93fe793 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.su.php @@ -0,0 +1,63 @@ + 'domain.name', + 'state:' => 'domain.status', + 'person:' => 'owner.name', + 'phone:' => 'owner.phone', + 'e-mail:' => 'owner.email', + 'created:' => 'domain.created', + 'paid-till:' => 'domain.expires', +/* + 'nserver:' => 'domain.nserver.', + 'source:' => 'domain.source', + 'type:' => 'owner.type', + 'org:' => 'owner.organization', + 'fax-no:' => 'owner.fax', +*/ + ); + + $r['regrinfo'] = generic_parser_b($data_str['rawdata'], $items, 'dmy'); + + $r['regyinfo'] = array( + 'referrer' => 'http://www.ripn.net', + 'registrar' => 'RUCENTER-REG-RIPN' + ); + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.tel.php b/wp-content/plugins/wordfence/lib/whois/whois.tel.php new file mode 100644 index 0000000..3ffe821 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.tel.php @@ -0,0 +1,45 @@ + 'http://www.telnic.org', + 'registrar' => 'Telnic' + ); + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.travel.php b/wp-content/plugins/wordfence/lib/whois/whois.travel.php new file mode 100644 index 0000000..9400ab9 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.travel.php @@ -0,0 +1,43 @@ + \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.uk.php b/wp-content/plugins/wordfence/lib/whois/whois.uk.php new file mode 100644 index 0000000..043c2fb --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.uk.php @@ -0,0 +1,72 @@ + 'Registrant:', + 'owner.address' => "Registrant's address:", + 'owner.type' => 'Registrant type:', + 'domain.created' => 'Registered on:', + 'domain.changed' => 'Last updated:', + 'domain.expires' => 'Renewal date:', + 'domain.nserver' => 'Name servers:', + 'domain.sponsor' => 'Registrar:', + 'domain.status' => 'Registration status:', + 'domain.dnssec' => 'DNSSEC:', + '' => 'WHOIS lookup made at', + 'disclaimer' => '--', + ); + + $r['regrinfo'] = get_blocks($data_str['rawdata'], $items); + + if (isset($r['regrinfo']['owner'])) + { + $r['regrinfo']['owner']['organization'] = $r['regrinfo']['owner']['organization'][0]; + $r['regrinfo']['domain']['sponsor'] = $r['regrinfo']['domain']['sponsor'][0]; + $r['regrinfo']['registered'] = 'yes'; + + $r = format_dates($r, 'dmy'); + } + else + $r['regrinfo']['registered'] = 'no'; + + $r['regyinfo'] = array( + 'referrer' => 'http://www.nominet.org.uk', + 'registrar' => 'Nominet UK' + ); + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.us.php b/wp-content/plugins/wordfence/lib/whois/whois.us.php new file mode 100644 index 0000000..393bd53 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.us.php @@ -0,0 +1,44 @@ +'http://www.neustar.us', + 'registrar' => 'NEUSTAR INC.' + ); + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.utils.php b/wp-content/plugins/wordfence/lib/whois/whois.utils.php new file mode 100644 index 0000000..f62ccda --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.utils.php @@ -0,0 +1,152 @@ +debugObject($obj); + return "

$r
\n"; + } + + function debugObject($obj,$indent=0) + { + if (is_Array($obj)) + { + $return = ''; + foreach($obj as $k => $v) + { + $return .= str_repeat(' ',$indent); + $return .= $k."->$v\n"; + $return .= $this->debugObject($v,$indent+1); + } + return $return; + } + } + + function ns_rr_defined($query) { + return checkdnsrr($query,'NS'); + } + + // get nice HTML output + + function showHTML($result, $link_myself=true, $params='query=$0&output=nice') { + + // adds links fort HTML output + + $email_regex = "/([-_\w\.]+)(@)([-_\w\.]+)\b/i"; + $html_regex = "/(?:^|\b)((((http|https|ftp):\/\/)|(www\.))([\w\.]+)([,:%#&\/?~=\w+\.-]+))(?:\b|$)/is"; + $ip_regex = "/\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/i"; + + $out = ''; + $lempty = true; + + foreach($result['rawdata'] as $line) + { + $line = trim($line); + + if ($line == '') + { + if ($lempty) continue; + else $lempty = true; + } + else + $lempty = false; + + $out .= $line."\n"; + } + + if ($lempty) $out = trim($out); + + $out = strip_tags($out); + $out = preg_replace ($email_regex, '$0', $out); + $out = preg_replace_callback ($html_regex, 'href_replace', $out); + + if ($link_myself) + { + if ($params[0] == '/') + $link = $params; + else + $link = $_SERVER['PHP_SELF'].'?'.$params; + + $out = preg_replace ($ip_regex, '$0', $out); + + if (isset($result['regrinfo']['domain']['nserver'])) + { + $nserver = $result['regrinfo']['domain']['nserver']; + } + else + $nserver = false; + + if (isset($result['regrinfo']['network']['nserver'])) + { + $nserver = $result['regrinfo']['network']['nserver']; + } + + if (is_array($nserver)) + { + reset($nserver); + while (list($host, $ip) = each($nserver)) + { + $url = '$host"; + $out = str_replace($host, $url, $out); + $out = str_replace(strtoupper($host), $url, $out); + } + } + } + + // Add bold field names + + $out = preg_replace ("/(?m)^([-\s\.&;'\w\t\(\)\/]+:\s*)/", '$1', $out); + + // Add italics for disclaimer + + $out = preg_replace ("/(?m)^(%.*)/", '$0', $out); + + return str_replace("\n","
\n",$out); + } +} + +function href_replace($matches) +{ +if (substr($matches[0],0,4)=='www.') + { + $web=$matches[0]; + $url='http://'.$web; + } +else + { + $web=$matches[0]; + $url=$web; + } + +return ''.$web.''; +} +?> diff --git a/wp-content/plugins/wordfence/lib/whois/whois.ve.php b/wp-content/plugins/wordfence/lib/whois/whois.ve.php new file mode 100644 index 0000000..6a205d3 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.ve.php @@ -0,0 +1,75 @@ + 'Titular:', + 'domain.name' => 'Nombre de Dominio:', + 'admin' => 'Contacto Administrativo', + 'tech' => 'Contacto Tecnico', + 'billing' => 'Contacto de Cobranza:', + 'domain.created' => 'Fecha de Creacion:', + 'domain.changed' => 'Ultima Actualizacion:', + 'domain.expires' => 'Fecha de Vencimiento:', + 'domain.status' => 'Estatus del dominio:', + 'domain.nserver' => 'Servidor(es) de Nombres de Dominio' + ); + + $r['regrinfo'] = get_blocks($data_str['rawdata'], $items); + + if (!isset($r['regrinfo']['domain']['created']) || is_array($r['regrinfo']['domain']['created'])) + { + $r['regrinfo'] = array ( 'registered' => 'no'); + return $r; + } + + $dns = array(); + + foreach($r['regrinfo']['domain']['nserver'] as $nserv) + { + if ($nserv[0] == '-') $dns[] = $nserv; + } + + $r['regrinfo']['domain']['nserver'] = $dns; + $r['regrinfo'] = get_contacts($r['regrinfo']); + $r['regyinfo'] = array( + 'referrer' => 'http://registro.nic.ve', + 'registrar' => 'NIC-Venezuela - CNTI' + ); + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.ws.php b/wp-content/plugins/wordfence/lib/whois/whois.ws.php new file mode 100644 index 0000000..5e8e0e1 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.ws.php @@ -0,0 +1,76 @@ + 'domain.name', + 'Registrant Name:' => 'owner.organization', + 'Registrant Email:' => 'owner.email', + 'Domain Created:' => 'domain.created', + 'Domain Last Updated:' => 'domain.changed', + 'Registrar Name:' => 'domain.sponsor', + 'Current Nameservers:' => 'domain.nserver.', + 'Administrative Contact Email:' => 'admin.email', + 'Administrative Contact Telephone:' => 'admin.phone', + 'Registrar Whois:' => 'rwhois' + ); + + $r['regrinfo'] = generic_parser_b($data_str['rawdata'], $items, 'ymd'); + + $r['regyinfo']['referrer'] = 'http://www.samoanic.ws'; + $r['regyinfo']['registrar'] = 'Samoa Nic'; + + if (!empty($r['regrinfo']['domain']['name'])) + { + $r['regrinfo']['registered'] = 'yes'; + + if (isset($r['regrinfo']['rwhois'])) + { + if ($this->deep_whois) + { + $r['regyinfo']['whois'] = $r['regrinfo']['rwhois']; + $r = $this->DeepWhois($query,$r); + } + + unset($r['regrinfo']['rwhois']); + } + } + else + $r['regrinfo']['registered'] = 'no'; + + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/whois/whois.zanet.php b/wp-content/plugins/wordfence/lib/whois/whois.zanet.php new file mode 100644 index 0000000..58bfe5f --- /dev/null +++ b/wp-content/plugins/wordfence/lib/whois/whois.zanet.php @@ -0,0 +1,90 @@ + 'Domain Name : ', + 'domain.created' => 'Record Created :', + 'domain.changed' => 'Record Last Updated :', + 'owner.name' => 'Registered for :', + 'admin' => 'Administrative Contact :', + 'tech' => 'Technical Contact :', + 'domain.nserver' => 'Domain Name Servers listed in order:', + 'registered' => 'No such domain: ', + '' => 'The ZA NiC whois' + ); + + // Arrange contacts ... + + $rawdata = array(); + + while (list($key, $line) = each($data_str['rawdata'])) + { + if (strpos($line, ' Contact ') !== false) + { + $pos = strpos($line, ':'); + + if ($pos !== false) + { + $rawdata[] = substr($line, 0, $pos + 1); + $rawdata[] = trim(substr($line, $pos + 1)); + continue; + } + } + $rawdata[] = $line; + } + + $r['regrinfo'] = get_blocks($rawdata, $items); + + if (isset($r['regrinfo']['registered'])) + { + $r['regrinfo']['registered'] = 'no'; + } + else + { + if (isset($r['regrinfo']['admin'])) + $r['regrinfo']['admin'] = get_contact($r['regrinfo']['admin']); + + if (isset($r['regrinfo']['tech'])) + $r['regrinfo']['tech'] = get_contact($r['regrinfo']['tech']); + } + + $r['regyinfo']['referrer'] = 'http://www.za.net/'; // or http://www.za.org + $r['regyinfo']['registrar'] = 'ZA NiC'; + format_dates($r, 'xmdxxy'); + return $r; + } + } +?> \ No newline at end of file diff --git a/wp-content/plugins/wordfence/lib/wordfenceClass.php b/wp-content/plugins/wordfence/lib/wordfenceClass.php new file mode 100644 index 0000000..ed81a96 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/wordfenceClass.php @@ -0,0 +1,2827 @@ +dropAll(); + foreach(array('wordfence_version', 'wordfenceActivated') as $opt){ + delete_option($opt); + } + } + } + public static function hourlyCron(){ + global $wpdb; $p = $wpdb->base_prefix; + $api = new wfAPI(wfConfig::get('apiKey'), wfUtils::getWPVersion()); + + if(wfConfig::get('other_WFNet')){ + $wfdb = new wfDB(); + $q1 = $wfdb->querySelect("select URI from $p"."wfNet404s where ctime > unix_timestamp() - 3600 limit 1000"); + $URIs = array(); + foreach($q1 as $rec){ + $URIs[] = $rec['URI']; + } + $wfdb->truncate($p . "wfNet404s"); + if(sizeof($URIs) > 0){ + try { + $api->call('send_net_404s', array(), array( 'URIs' => json_encode($URIs) )); + } catch(Exception $e){ + //Ignore + } + } + + $q2 = $wfdb->querySelect("select INET_NTOA(IP) as IP from $p"."wfVulnScanners where ctime > unix_timestamp() - 3600"); + $scanCont = ""; + foreach($q2 as $rec){ + $scanCont .= pack('N', ip2long($rec['IP'])); + } + $wfdb->truncate($p . "wfVulnScanners"); + + $q3 = $wfdb->querySelect("select INET_NTOA(IP) as IP from $p"."wfLockedOut where blockedTime > unix_timestamp() - 3600"); + $lockCont = ""; + foreach($q3 as $rec){ + $lockCont .= pack('N', ip2long($rec['IP'])); + } + if(strlen($lockCont) > 0 || strlen($scanCont) > 0){ + $cont = pack('N', strlen($lockCont) / 4) . $lockCont . pack('N', strlen($scanCont) / 4) . $scanCont; + try { + $resp = $api->binCall('get_net_bad_ips', $cont); + if($resp['code'] == 200){ + $len = strlen($resp['data']); + $reason = "WFSN: Blocked by Wordfence Security Network"; + $wfdb->queryWrite("delete from $p"."wfBlocks where wfsn=1 and permanent=0"); + if($len > 0 && $len % 4 == 0){ + for($i = 0; $i < $len; $i += 4){ + list($ipLong) = array_values(unpack('N', substr($resp['data'], $i, 4))); + $IPStr = long2ip($ipLong); + if(! self::getLog()->isWhitelisted($IPStr)){ + self::getLog()->blockIP($IPStr, $reason, true); + } + } + } + } + } catch(Exception $e){ + //Ignore + } + } + } + } + private static function keyAlert($msg){ + self::alert($msg, $msg . " To ensure uninterrupted Premium Wordfence protection on your site,\nplease renew your API key by visiting http://www.wordfence.com/ Sign in, go to your dashboard,\nselect the key about to expire and click the button to renew that API key.", false); + } + public static function dailyCron(){ + $api = new wfAPI(wfConfig::get('apiKey'), wfUtils::getWPVersion()); + $keyData = $api->call('ping_api_key'); + if(isset($keyData['_isPaidKey']) && $keyData['_isPaidKey']){ + $keyExpDays = $keyData['_keyExpDays']; + $keyIsExpired = $keyData['_expired']; + if($keyExpDays > 15){ + wfConfig::set('keyExp15Sent', ''); + wfConfig::set('keyExp7Sent', ''); + wfConfig::set('keyExp2Sent', ''); + wfConfig::set('keyExp1Sent', ''); + wfConfig::set('keyExpFinalSent', ''); + } else if($keyExpDays <= 15 && $keyExpDays > 0){ + if($keyExpDays <= 15 && $keyExpDays >= 11 && (! wfConfig::get('keyExp15Sent'))){ + wfConfig::set('keyExp15Sent', 1); + self::keyAlert("Your Premium Wordfence API Key expires in less than 2 weeks."); + } else if($keyExpDays <= 7 && $keyExpDays >= 4 && (! wfConfig::get('keyExp7Sent'))){ + wfConfig::set('keyExp7Sent', 1); + self::keyAlert("Your Premium Wordfence API Key expires in less than a week."); + } else if($keyExpDays == 2 && (! wfConfig::get('keyExp2Sent'))){ + wfConfig::set('keyExp2Sent', 1); + self::keyAlert("Your Premium Wordfence API Key expires in 2 days."); + } else if($keyExpDays == 1 && (! wfConfig::get('keyExp1Sent'))){ + wfConfig::set('keyExp1Sent', 1); + self::keyAlert("Your Premium Wordfence API Key expires in 1 day."); + } + } else if($keyIsExpired && (! wfConfig::get('keyExpFinalSent')) ){ + wfConfig::set('keyExpFinalSent', 1); + self::keyAlert("Your Wordfence Premium API Key has Expired!"); + } + } + + $wfdb = new wfDB(); + global $wpdb; $p = $wpdb->base_prefix; + try { + $patData = $api->call('get_known_vuln_pattern'); + if(is_array($patData) && $patData['pat']){ + if(@preg_match($patData['pat'], 'wordfence_test_vuln_match')){ + wfConfig::set('vulnRegex', $patData['pat']); + } + } + } catch(Exception $e){ + wordfence::status(4, 'error', "Could not fetch vulnerability patterns in scheduled job: " . $e->getMessage()); + } + + $wfdb->queryWrite("delete from $p"."wfLocs where ctime < unix_timestamp() - %d", WORDFENCE_MAX_IPLOC_AGE); + $wfdb->truncate($p . "wfBadLeechers"); //only uses date that's less than 1 minute old + $wfdb->queryWrite("delete from $p"."wfBlocks where (blockedTime + %s < unix_timestamp()) and permanent=0", wfConfig::get('blockedTime')); + $wfdb->queryWrite("delete from $p"."wfCrawlers where lastUpdate < unix_timestamp() - (86400 * 7)"); + + $count = $wfdb->querySingle("select count(*) as cnt from $p"."wfHits"); + if($count > 20000){ + $wfdb->truncate($p . "wfHits"); //So we don't slow down sites that have very large wfHits tables + } else if($count > 2000){ + $wfdb->queryWrite("delete from $p"."wfHits order by id asc limit %d", ($count - 100)); + } + +/* + $count6 = $wfdb->querySingle("select count(*) as cnt from $p"."wfPerfLog"); + if($count6 > 20000){ + $wfdb->truncate($p . "wfPerfLog"); //So we don't slow down sites that have very large wfHits tables + } else if($count6 > 2000){ + $wfdb->queryWrite("delete from $p"."wfPerfLog order by id asc limit %d", ($count6 - 100)); + } +*/ + $maxRows = 1000; //affects stuff further down too + foreach(array('wfLeechers', 'wfScanners') as $table){ + //This is time based per IP so shouldn't get too big + $wfdb->queryWrite("delete from $p"."$table where eMin < ((unix_timestamp() - (86400 * 2)) / 60)"); + } + $wfdb->queryWrite("delete from $p"."wfLockedOut where blockedTime + %s < unix_timestamp()", wfConfig::get('loginSec_lockoutMins') * 60); + $count2 = $wfdb->querySingle("select count(*) as cnt from $p"."wfLogins"); + if($count2 > 20000){ + $wfdb->truncate($p . "wfLogins"); //in case of Dos + } else if($count2 > $maxRows){ + $wfdb->queryWrite("delete from $p"."wfLogins order by ctime asc limit %d", ($count2 - 100)); + } + $wfdb->queryWrite("delete from $p"."wfReverseCache where unix_timestamp() - lastUpdate > 86400"); + $count3 = $wfdb->querySingle("select count(*) as cnt from $p"."wfThrottleLog"); + if($count3 > 20000){ + $wfdb->truncate($p . "wfThrottleLog"); //in case of DoS + } else if($count3 > $maxRows){ + $wfdb->queryWrite("delete from $p"."wfThrottleLog order by endTime asc limit %d", ($count3 - 100)); + } + $count4 = $wfdb->querySingle("select count(*) as cnt from $p"."wfStatus"); + if($count4 > 100000){ + $wfdb->truncate($p . "wfStatus"); + } else if($count4 > 1000){ //max status events we keep. This determines how much gets emailed to us when users sends us a debug report. + $wfdb->queryWrite("delete from $p"."wfStatus where level != 10 order by ctime asc limit %d", ($count4 - 1000)); + $count5 = $wfdb->querySingle("select count(*) as cnt from $p"."wfStatus where level=10"); + if($count5 > 100){ + $wfdb->queryWrite("delete from $p"."wfStatus where level = 10 order by ctime asc limit %d", ($count5 - 100) ); + } + } + + } + public static function runInstall(){ + if(self::$runInstallCalled){ return; } + self::$runInstallCalled = true; + update_option('wordfence_version', WORDFENCE_VERSION); //In case we have a fatal error we don't want to keep running install. + //EVERYTHING HERE MUST BE IDEMPOTENT + + //Remove old legacy cron job if exists + wp_clear_scheduled_hook('wordfence_scheduled_scan'); + + $restOfSite = wfConfig::get('cbl_restOfSiteBlocked', 'notset'); + if($restOfSite == 'notset'){ + wfConfig::set('cbl_restOfSiteBlocked', '1'); + } + + $schema = new wfSchema(); + $schema->createAll(); //if not exists + wfConfig::setDefaults(); //If not set + + //Install new schedule. If schedule config is blank it will install the default 'auto' schedule. + wordfence::scheduleScans(); + + if(wfConfig::get('autoUpdate') == '1'){ + wfConfig::enableAutoUpdate(); //Sets up the cron + } + + if(! wfConfig::get('apiKey')){ + $api = new wfAPI('', wfUtils::getWPVersion()); + try { + $keyData = $api->call('get_anon_api_key'); + if($keyData['ok'] && $keyData['apiKey']){ + wfConfig::set('apiKey', $keyData['apiKey']); + } else { + throw new Exception("Could not understand the response we received from the Wordfence servers when applying for a free API key."); + } + } catch(Exception $e){ + error_log("Could not fetch free API key from Wordfence: " . $e->getMessage()); + return; + } + } + wp_clear_scheduled_hook('wordfence_daily_cron'); + wp_clear_scheduled_hook('wordfence_hourly_cron'); + wp_schedule_event(time(), 'daily', 'wordfence_daily_cron'); //'daily' + wp_schedule_event(time(), 'hourly', 'wordfence_hourly_cron'); + $db = new wfDB(); + + if($db->columnExists('wfHits', 'HTTPHeaders')){ //Upgrade from 3.0.4 + global $wpdb; + $prefix = $wpdb->base_prefix; + $count = $db->querySingle("select count(*) as cnt from $prefix"."wfHits"); + if($count > 20000){ + $db->queryWrite("delete from $prefix"."wfHits order by id asc limit " . ($count - 20000)); + } + $db->dropColumn('wfHits', 'HTTPHeaders'); + } + + //Upgrading from 1.5.6 or earlier needs: + $db->createKeyIfNotExists('wfStatus', 'level', 'k2'); + if(wfConfig::get('isPaid') == 'free'){ + wfConfig::set('isPaid', ''); + } + //End upgrade from 1.5.6 + + global $wpdb; + $prefix = $wpdb->base_prefix; + $db->queryWriteIgnoreError("alter table $prefix"."wfConfig modify column val longblob"); + $db->queryWriteIgnoreError("alter table $prefix"."wfBlocks add column permanent tinyint UNSIGNED default 0"); + $db->queryWriteIgnoreError("alter table $prefix"."wfStatus modify column msg varchar(1000) NOT NULL"); + //3.1.2 to 3.1.4 + $db->queryWriteIgnoreError("alter table $prefix"."wfBlocks modify column blockedTime bigint signed NOT NULL"); + //3.2.1 to 3.2.2 + $db->queryWriteIgnoreError("alter table $prefix"."wfLockedOut modify column blockedTime bigint signed NOT NULL"); + $db->queryWriteIgnoreError("drop table if exists $prefix"."wfFileQueue"); + $db->queryWriteIgnoreError("drop table if exists $prefix"."wfFileChanges"); + + $optScanEnabled = $db->querySingle("select val from $prefix"."wfConfig where name='scansEnabled_options'"); + if($optScanEnabled != '0' && $optScanEnabled != '1'){ + $db->queryWrite("update $prefix"."wfConfig set val='1' where name='scansEnabled_options'"); + } + + $optScanEnabled = $db->querySingle("select val from $prefix"."wfConfig where name='scansEnabled_heartbleed'"); + if($optScanEnabled != '0' && $optScanEnabled != '1'){ //Enable heartbleed if no value is set. + wfConfig::set('scansEnabled_heartbleed', 1); + } + + //Must be the final line + } + private static function doEarlyAccessLogging(){ + $wfLog = self::getLog(); + if($wfLog->logHitOK()){ + if( empty($wfFunc) && is_404() ){ + $wfLog->logLeechAndBlock('404'); + } else { + $wfLog->logLeechAndBlock('hit'); + } + if(wfConfig::liveTrafficEnabled()){ + self::$hitID = $wfLog->logHit(); + add_action('wp_head', 'wordfence::wfLogHumanHeader'); + } + /* + if(wfConfig::get('perfLoggingEnabled', false)){ + add_action('wp_head', 'wordfence::wfLogPerfHeader'); + } + */ + } + } + public static function initProtection(){ + if(preg_match('/\/wp\-admin\/admin\-ajax\.php/', $_SERVER['REQUEST_URI'])){ + if(isset($_REQUEST['action']) && $_REQUEST['action'] == 'revslider_show_image' && isset($_REQUEST['img']) && preg_match('/\.php$/i', $_REQUEST['img']) ){ + self::getLog()->do503(86400, "URL not allowed. Slider Revolution Hack attempt detected. #2"); + exit(); //function above exits anyway + } + } + } + public static function install_actions(){ + self::initProtection(); + if(wfUtils::hasLoginCookie()){ //Fast way of checking if user may be logged in. Not secure, but these are only available if you're signed in. + register_activation_hook(WP_PLUGIN_DIR . '/wordfence/wordfence.php', 'wordfence::installPlugin'); + register_deactivation_hook(WP_PLUGIN_DIR . '/wordfence/wordfence.php', 'wordfence::uninstallPlugin'); + } + + $versionInOptions = get_option('wordfence_version', false); + if( (! $versionInOptions) || version_compare(WORDFENCE_VERSION, $versionInOptions, '>')){ + //Either there is no version in options or the version in options is greater and we need to run the upgrade + self::runInstall(); + } + //These access wfConfig::get('apiKey') and will fail if runInstall hasn't executed. + wfCache::setupCaching(); + + if(defined('MULTISITE') && MULTISITE === true){ + global $blog_id; + if($blog_id == 1 && get_option('wordfenceActivated') != 1){ return; } //Because the plugin is active once installed, even before it's network activated, for site 1 (WordPress team, why?!) + } + //User may be logged in or not, so register both handlers + add_action('wp_ajax_nopriv_wordfence_logHuman', 'wordfence::ajax_logHuman_callback'); + add_action('wp_ajax_nopriv_wordfence_doScan', 'wordfence::ajax_doScan_callback'); + add_action('wp_ajax_nopriv_wordfence_testAjax', 'wordfence::ajax_testAjax_callback'); + add_action('wp_ajax_nopriv_wordfence_perfLog', 'wordfence::ajax_perfLog_callback'); + if(wfUtils::hasLoginCookie()){ //may be logged in. Fast way to check. These aren't secure functions, this is just a perf optimization, along with every other use of hasLoginCookie() + add_action('wp_ajax_wordfence_perfLog', 'wordfence::ajax_perfLog_callback'); + add_action('wp_ajax_wordfence_logHuman', 'wordfence::ajax_logHuman_callback'); + add_action('wp_ajax_wordfence_doScan', 'wordfence::ajax_doScan_callback'); + add_action('wp_ajax_wordfence_testAjax', 'wordfence::ajax_testAjax_callback'); + /* + add_action('wp_dashboard_setup', 'wordfence::addDashboardWidget'); + */ + + } + + + add_action('wordfence_start_scheduled_scan', 'wordfence::wordfenceStartScheduledScan'); + add_action('wordfence_daily_cron', 'wordfence::dailyCron'); + add_action('wordfence_daily_autoUpdate', 'wfConfig::autoUpdate'); + add_action('wordfence_hourly_cron', 'wordfence::hourlyCron'); + add_action('plugins_loaded', 'wordfence::veryFirstAction'); + add_action('init', 'wordfence::initAction'); + add_action('template_redirect', 'wordfence::templateRedir'); + add_action('shutdown', 'wordfence::shutdownAction'); + + if(version_compare(PHP_VERSION, '5.4.0') >= 0){ + add_action('wp_authenticate','wordfence::authActionNew', 1, 2); + } else { + add_action('wp_authenticate','wordfence::authActionOld', 1, 2); + } + add_filter('authenticate', 'wordfence::authenticateFilter', 99, 3); + + add_action('login_init','wordfence::loginInitAction'); + add_action('wp_login','wordfence::loginAction'); + add_action('wp_logout','wordfence::logoutAction'); + add_action('lostpassword_post', 'wordfence::lostPasswordPost', '1'); + if(wfUtils::hasLoginCookie()){ + add_action('user_profile_update_errors', 'wordfence::validateProfileUpdate', 0, 3 ); + add_action('profile_update', 'wordfence::profileUpdateAction', '99', 2); + add_action('validate_password_reset', 'wordfence::validatePassword', 10, 2 ); + } + add_action('publish_future_post', 'wordfence::publishFuturePost'); + add_action('mobile_setup', 'wordfence::jetpackMobileSetup'); //Action called in Jetpack Mobile Theme: modules/minileven/minileven.php + + //For debugging + //add_filter( 'cron_schedules', 'wordfence::cronAddSchedules' ); + + add_filter('wp_redirect', 'wordfence::wpRedirectFilter', 99, 2); + add_filter('pre_comment_approved', 'wordfence::preCommentApprovedFilter', '99', 2); + //html|xhtml|atom|rss2|rdf|comment|export + add_filter('get_the_generator_html', 'wordfence::genFilter', 99, 2); + add_filter('get_the_generator_xhtml', 'wordfence::genFilter', 99, 2); + add_filter('get_the_generator_atom', 'wordfence::genFilter', 99, 2); + add_filter('get_the_generator_rss2', 'wordfence::genFilter', 99, 2); + add_filter('get_the_generator_rdf', 'wordfence::genFilter', 99, 2); + add_filter('get_the_generator_comment', 'wordfence::genFilter', 99, 2); + add_filter('get_the_generator_export', 'wordfence::genFilter', 99, 2); + add_filter('registration_errors', 'wordfence::registrationFilter', 99, 3); + if(is_admin()){ + add_action('admin_init', 'wordfence::admin_init'); + if(is_multisite()){ + if(wfUtils::isAdminPageMU()){ + add_action('network_admin_menu', 'wordfence::admin_menus'); + } //else don't show menu + } else { + add_action('admin_menu', 'wordfence::admin_menus'); + } + add_filter('pre_update_option_permalink_structure', 'wordfence::disablePermalinksFilter', 10, 2); + if( preg_match('/^(?:falcon|php)$/', wfConfig::get('cacheType')) ){ + add_filter('post_row_actions', 'wordfence::postRowActions', 0, 2); + add_filter('page_row_actions', 'wordfence::pageRowActions', 0, 2); + add_action('post_submitbox_start', 'wordfence::postSubmitboxStart'); + } + } + } + /* + public static function cronAddSchedules($schedules){ + $schedules['wfEachMinute'] = array( + 'interval' => 60, + 'display' => __( 'Once a Minute' ) + ); + return $schedules; + } + */ + /* + public static function addDashboardWidget(){ + wp_add_dashboard_widget('wordfenceDashboardWidget', 'Wordfence Security Status', 'wordfence::displayDashboardWidget'); + } + public static function displayDashboardWidget(){ + require('dashboard.php'); + } + */ + public static function jetpackMobileSetup(){ + define('WFDONOTCACHE', true); //Don't cache jetpack mobile theme pages. + } + public static function wpRedirectFilter($URL, $status){ + if(isset($_GET['author']) && preg_match('/\/author\/.+/i', $URL) && wfConfig::get('loginSec_disableAuthorScan') ){ //author query variable is present and we're about to redirect to a URL that starts with http://blah/author/... + return home_url(); //Send the user to the home URL (as opposed to site_url() which is not the home page on some sites) + } + return $URL; + } + public static function ajax_testAjax_callback(){ + die("WFSCANTESTOK"); + } + public static function ajax_doScan_callback(){ + ignore_user_abort(true); + self::$wordfence_wp_version = false; + require(ABSPATH . 'wp-includes/version.php'); + self::$wordfence_wp_version = $wp_version; + require('wfScan.php'); + wfScan::wfScanMain(); + + } //END doScan + public static function ajax_perfLog_callback(){ + $wfLog = self::getLog(); + $fields = array('fetchStart', 'domainLookupStart', 'domainLookupEnd', 'connectStart', 'connectEnd', 'requestStart', 'responseStart', 'responseEnd', 'domReady', 'loaded'); + $lastVal = false; + foreach($fields as $f){ + if(preg_match('/^\d+$/', $_POST[$f])){ + $data[$f] = $_POST[$f]; + } + } + $UA = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : ''; + $URL = $_POST['URL']; + $wfLog->logPerf(wfUtils::getIP(), $UA, $URL, $data); + die(json_encode(array('ok' => 1))); + } + public static function ajax_logHuman_callback(){ + $browscap = new wfBrowscap(); + $UA = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : ''; + $isCrawler = false; + if($UA){ + $b = $browscap->getBrowser($UA); + if($b['Crawler']){ + $isCrawler = true; + } + } + + @ob_end_clean(); + if(! headers_sent()){ + header('Content-type: text/javascript'); + header("Connection: close"); + header("Content-Length: 0"); + } + flush(); + if(! $isCrawler){ + $hid = $_GET['hid']; + $hid = wfUtils::decrypt($hid); + if(! preg_match('/^\d+$/', $hid)){ exit(); } + $db = new wfDB(); + global $wpdb; $p = $wpdb->base_prefix; + $db->queryWrite("update $p"."wfHits set jsRun=1 where id=%d", $hid); + } + die(""); + } + public static function ajaxReceiver(){ + if(! wfUtils::isAdmin()){ + die(json_encode(array('errorMsg' => "You appear to have logged out or you are not an admin. Please sign-out and sign-in again."))); + } + $func = (isset($_POST['action']) && $_POST['action']) ? $_POST['action'] : $_GET['action']; + $nonce = (isset($_POST['nonce']) && $_POST['nonce']) ? $_POST['nonce'] : $_GET['nonce']; + if(! wp_verify_nonce($nonce, 'wp-ajax')){ + die(json_encode(array('errorMsg' => "Your browser sent an invalid security token to Wordfence. Please try reloading this page or signing out and in again."))); + } + //func is e.g. wordfence_ticker so need to munge it + $func = str_replace('wordfence_', '', $func); + $returnArr = call_user_func('wordfence::ajax_' . $func . '_callback'); + if($returnArr === false){ + $returnArr = array('errorMsg' => "Wordfence encountered an internal error executing that request."); + } + + if(! is_array($returnArr)){ + error_log("Function $func did not return an array and did not generate an error."); + $returnArr = array(); + } + if(isset($returnArr['nonce'])){ + error_log("Wordfence ajax function return an array with 'nonce' already set. This could be a bug."); + } + $returnArr['nonce'] = wp_create_nonce('wp-ajax'); + die(json_encode($returnArr)); + exit; + } + public static function publishFuturePost($id){ + if(wfConfig::get('clearCacheSched')){ + wfCache::scheduleCacheClear(); + } + } + public static function validateProfileUpdate($errors, $update, $userData){ + wordfence::validatePassword($errors, $userData); + } + public static function validatePassword($errors, $userData){ + $password = ( isset( $_POST[ 'pass1' ] ) && trim( $_POST[ 'pass1' ] ) ) ? $_POST[ 'pass1' ] : false; + $user_id = isset( $userData->ID ) ? $userData->ID : false; + $username = isset( $_POST["user_login"] ) ? $_POST["user_login"] : $userData->user_login; + if($password == false){ return $errors; } + if($errors->get_error_data("pass") ){ return $errors; } + $enforce = false; + if(wfConfig::get('loginSec_strongPasswds') == 'pubs'){ + if(user_can($user_id, 'publish_posts')){ + $enforce = true; + } + } else if(wfConfig::get('loginSec_strongPasswds') == 'all'){ + $enforce = true; + } + if($enforce){ + if(! wordfence::isStrongPasswd($password, $username)){ + $errors->add('pass', "Please choose a stronger password. Try including numbers, symbols and a mix of upper and lower case letters and remove common words."); + return $errors; + } + } + $twoFactorUsers = wfConfig::get_ser('twoFactorUsers', array()); + if(preg_match(self::$passwordCodePattern, $password) && isset($twoFactorUsers) && is_array($twoFactorUsers) && sizeof($twoFactorUsers) > 0){ + $errors->add('pass', "Passwords containing a space followed by 'wf' without quotes are not allowed."); + return $errors; + } + return $errors; + } + public static function isStrongPasswd($passwd, $username ) { + $strength = 0; + if(strlen( trim( $passwd ) ) < 5) + return false; + if(strtolower( $passwd ) == strtolower( $username ) ) + return false; + if(preg_match('/(?:password|passwd|mypass|wordpress)/i', $passwd)){ + return false; + } + if($num = preg_match_all( "/\d/", $passwd, $matches) ){ + $strength += ((int)$num * 10); + } + if ( preg_match( "/[a-z]/", $passwd ) ) + $strength += 26; + if ( preg_match( "/[A-Z]/", $passwd ) ) + $strength += 26; + if ($num = preg_match_all( "/[^a-zA-Z0-9]/", $passwd, $matches)){ + $strength += (31 * (int)$num); + + } + if($strength > 60){ + return true; + } + } + public static function lostPasswordPost(){ + $IP = wfUtils::getIP(); + if(self::getLog()->isWhitelisted($IP)){ + return; + } + if(self::isLockedOut($IP)){ + require('wfLockedOut.php'); + } + $email = $_POST['user_login']; + if(empty($email)){ return; } + $user = get_user_by('email', $_POST['user_login']); + if($user){ + if(wfConfig::get('alertOn_lostPasswdForm')){ + wordfence::alert("Password recovery attempted", "Someone tried to recover the password for user with email address: $email", $IP); + } + } + if(wfConfig::get('loginSecurityEnabled')){ + $tKey = 'wffgt_' . wfUtils::inet_aton($IP); + $forgotAttempts = get_transient($tKey); + if($forgotAttempts){ + $forgotAttempts++; + } else { + $forgotAttempts = 1; + } + if($forgotAttempts >= wfConfig::get('loginSec_maxForgotPasswd')){ + self::lockOutIP($IP, "Exceeded the maximum number of tries to recover their password which is set at: " . wfConfig::get('loginSec_maxForgotPasswd') . ". The last username or email they entered before getting locked out was: '" . $_POST['user_login'] . "'"); + require('wfLockedOut.php'); + } + set_transient($tKey, $forgotAttempts, wfConfig::get('loginSec_countFailMins') * 60); + } + } + public static function lockOutIP($IP, $reason){ + //First we lock out IP + self::getLog()->lockOutIP(wfUtils::getIP(), $reason); + //Then we send the email because email sending takes time and we want to block the baddie asap. If we don't users can get a lot of emails about a single attacker getting locked out. + if(wfConfig::get('alertOn_loginLockout')){ + wordfence::alert("User locked out from signing in", "A user with IP address $IP has been locked out from the signing in or using the password recovery form for the following reason: $reason", $IP); + } + } + public static function isLockedOut($IP){ + return self::getLog()->isIPLockedOut($IP); + } + public static function veryFirstAction(){ + $wfFunc = @$_GET['_wfsf']; + if($wfFunc == 'unlockEmail'){ + $numTries = get_transient('wordfenceUnlockTries'); + if($numTries > 10){ + echo "

Please wait 3 minutes and try again

You have used this form too much. Please wait 3 minutes and try again.

"; + exit(); + } + if(! $numTries){ $numTries = 1; } else { $numTries = $numTries + 1; } + set_transient('wordfenceUnlockTries', $numTries, 180); + + $email = trim($_POST['email']); + global $wpdb; + $ws = $wpdb->get_results("SELECT ID, user_login FROM $wpdb->users"); + $users = array(); + foreach($ws as $user){ + $userDat = get_userdata($user->ID); + if($userDat->user_level > 7){ + if($email == $userDat->user_email){ + $found = true; + break; + } + } + } + if(! $found){ + foreach(wfConfig::getAlertEmails() as $alertEmail){ + if($alertEmail == $email){ + $found = true; + break; + } + } + } + if($found){ + $key = wfUtils::bigRandomHex(); + $IP = wfUtils::getIP(); + set_transient('wfunlock_' . $key, $IP, 1800); + $content = wfUtils::tmpl('email_unlockRequest.php', array( + 'siteName' => get_bloginfo('name', 'raw'), + 'siteURL' => wfUtils::getSiteBaseURL(), + 'unlockHref' => wfUtils::getSiteBaseURL() . '?_wfsf=unlockAccess&key=' . $key, + 'key' => $key, + 'IP' => $IP + )); + wp_mail($email, "Unlock email requested", $content, "Content-Type: text/html"); + } + echo "

Your request was received

We received a request to email \"" . htmlspecialchars($email, ENT_QUOTES, 'UTF-8') . "\" instructions to unlock their access. If that is the email address of a site administrator or someone on the Wordfence alert list, then they have been emailed instructions on how to regain access to this sytem. The instructions we sent will expire 30 minutes from now."; + exit(); + } else if($wfFunc == 'unlockAccess'){ + if(! preg_match('/^\d+\.\d+\.\d+\.\d+$/', get_transient('wfunlock_' . $_GET['key']))){ + echo "Invalid key provided for authentication."; + exit(); + } + /* You can enable this for paranoid security leve. + if(get_transient('wfunlock_' . $_GET['key']) != wfUtils::getIP()){ + echo "You can only use this link from the IP address you used to generate the unlock email."; + exit(); + } + */ + $wfLog = new wfLog(wfConfig::get('apiKey'), wfUtils::getWPVersion()); + if($_GET['func'] == 'unlockMyIP'){ + $wfLog->unblockIP(wfUtils::getIP()); + $wfLog->unlockOutIP(wfUtils::getIP()); + delete_transient('wflginfl_' . wfUtils::inet_aton(wfUtils::getIP())); //Reset login failure counter + header('Location: ' . wp_login_url()); + exit(); + } else if($_GET['func'] == 'unlockAllIPs'){ + wordfence::status(1, 'info', "Request received via unlock email link to unblock all IP's."); + $wfLog->unblockAllIPs(); + $wfLog->unlockAllIPs(); + delete_transient('wflginfl_' . wfUtils::inet_aton(wfUtils::getIP())); //Reset login failure counter + header('Location: ' . wp_login_url()); + exit(); + } else if($_GET['func'] == 'disableRules'){ + wfConfig::set('firewallEnabled', 0); + wfConfig::set('loginSecurityEnabled', 0); + wordfence::status(1, 'info', "Request received via unlock email link to unblock all IP's via disabling firewall rules."); + $wfLog->unblockAllIPs(); + $wfLog->unlockAllIPs(); + delete_transient('wflginfl_' . wfUtils::inet_aton(wfUtils::getIP())); //Reset login failure counter + wfConfig::set('cbl_countries', ''); //unblock all countries + header('Location: ' . wp_login_url()); + exit(); + } else { + echo "Invalid function specified. Please check the link we emailed you and make sure it was not cut-off by your email reader."; + exit(); + } + } + + if(wfConfig::get('firewallEnabled')){ + $wfLog = self::getLog(); + $wfLog->firewallBadIPs(); + } + } + public static function loginAction($username){ + if(sizeof($_POST) < 1){ return; } //only execute if login form is posted + if(! $username){ return; } + wfConfig::inc('totalLogins'); + $user = get_user_by('login', $username); + $userID = $user ? $user->ID : 0; + self::getLog()->logLogin('loginOK', 0, $username); + if(wfUtils::isAdmin($user)){ + wfConfig::set_ser('lastAdminLogin', array( + 'userID' => $userID, + 'username' => $username, + 'firstName' => $user->first_name, + 'lastName' => $user->last_name, + 'time' => wfUtils::localHumanDateShort(), + 'IP' => wfUtils::getIP() + )); + } + + if(user_can($userID, 'update_core')){ + if(wfConfig::get('alertOn_adminLogin')){ + wordfence::alert("Admin Login", "A user with username \"$username\" who has administrator access signed in to your WordPress site.", wfUtils::getIP()); + } + } else { + if(wfConfig::get('alertOn_nonAdminLogin')){ + wordfence::alert("User login", "A non-admin user with username \"$username\" signed in to your WordPress site.", wfUtils::getIP()); + } + } + } + public static function registrationFilter($errors, $santizedLogin, $userEmail){ + if(wfConfig::get('loginSec_blockAdminReg') && $santizedLogin == 'admin'){ + $errors->add('user_login_error', 'ERROR: You can\'t register using that username'); + } + return $errors; + } + public static function authenticateFilter($authUser, $username, $passwd){ + wfConfig::inc('totalLoginHits'); //The total hits to wp-login.php including logins, logouts and just hits. + $IP = wfUtils::getIP(); + $secEnabled = wfConfig::get('loginSecurityEnabled'); + if($secEnabled && (! self::getLog()->isWhitelisted($IP)) && wfConfig::get('isPaid') ){ + $twoFactorUsers = wfConfig::get_ser('twoFactorUsers', array()); + if(isset($twoFactorUsers) && is_array($twoFactorUsers) && sizeof($twoFactorUsers) > 0){ + $userDat = (isset($_POST['wordfence_userDat']) ? $_POST['wordfence_userDat'] : false); + if(is_object($userDat) && get_class($authUser) == 'WP_User'){ //Valid username and password either with or without the 'wf...' code. Users is now logged in at this point. + if(isset($_POST['wordfence_authFactor']) && $_POST['wordfence_authFactor']){ //user entered a valid user and password with ' wf....' appended + foreach($twoFactorUsers as &$t){ + if($t[0] == $userDat->ID && $t[3] == 'activated'){ + if($_POST['wordfence_authFactor'] == $t[2] && $t[4] > time()){ + //Do nothing and allow user to sign in. Their passwd has already been modified to be the passwd without the code. + } else if($_POST['wordfence_authFactor'] == $t[2]){ + $api = new wfAPI(wfConfig::get('apiKey'), wfUtils::getWPVersion()); + $codeResult = $api->call('twoFactor_verification', array(), array('phone' => $t[1]) ); + if(isset($codeResult['notPaid']) && $codeResult['notPaid']){ + break; //Let them sign in without two factor + } + if(isset($codeResult['ok']) && $codeResult['ok']){ + $t[2] = $codeResult['code']; + $t[4] = time() + 1800; //30 minutes until code expires + wfConfig::set_ser('twoFactorUsers', $twoFactorUsers); //save the code the user needs to enter and return an error. + return new WP_Error( 'twofactor_required', __( 'CODE EXPIRED. CHECK YOUR PHONE: The code you entered has expired. Codes are only valid for 30 minutes for security reasons. We have sent you a new code. Please sign in using your username and your password followed by a space and the new code we sent you.')); + } else { + break; //No new code was received. Let them sign in with the expired code. + } + } else { //Bad code, so cancel the login and return an error to user. + return new WP_Error( 'twofactor_required', __( 'INVALID CODE: You need to enter your password followed by a space and the code we sent to your phone. The code should start with \'wf\' and should be four characters. e.g. wfAB12. In this case you would enter your password as: \'mypassword wfAB12\' without quotes.')); + } + } //No user matches and has TF activated so let user sign in. + } + } else { //valid login with no code entered + foreach($twoFactorUsers as &$t){ + if($t[0] == $userDat->ID && $t[3] == 'activated'){ //Yup, enabled, so lets send the code + $api = new wfAPI(wfConfig::get('apiKey'), wfUtils::getWPVersion()); + $codeResult = $api->call('twoFactor_verification', array(), array('phone' => $t[1]) ); + if(isset($codeResult['notPaid']) && $codeResult['notPaid']){ + break; //Let them sign in without two factor if their API key has expired or they're not paid and for some reason they have this set up. + } + + if(isset($codeResult['ok']) && $codeResult['ok']){ + $t[2] = $codeResult['code']; + $t[4] = time() + 1800; //30 minutes until code expires + wfConfig::set_ser('twoFactorUsers', $twoFactorUsers); //save the code the user needs to enter and return an error. + return new WP_Error( 'twofactor_required', __( 'CHECK YOUR PHONE: A code has been sent to your phone and will arrive within 30 seconds. Please sign in again and add a space and the code to the end of your password.' ) ); + } else { //oops, our API returned an error. + break; //Let them sign in without two factor because the API is broken and we don't want to lock users out of their own systems. + } + } //User is not present in two factor list or is not activated. Sign in without twofactor. + } //Two facto users is empty. Sign in without two factor. + } + } + } + } + + if(self::getLog()->isWhitelisted($IP)){ + return $authUser; + } + if(wfConfig::get('other_WFNet') && is_wp_error($authUser) && ($authUser->get_error_code() == 'invalid_username' || $authUser->get_error_code() == 'incorrect_password') ){ + if($maxBlockTime = self::wfsnIsBlocked($IP, 'brute')){ + self::getLog()->blockIP($IP, "Blocked by Wordfence Security Network", true, false, $maxBlockTime); + } + + } + if($secEnabled){ + if(is_wp_error($authUser) && $authUser->get_error_code() == 'invalid_username'){ + if($blacklist = wfConfig::get('loginSec_userBlacklist')){ + $users = explode(',', $blacklist); + foreach($users as $user){ + if(strtolower($_POST['log']) == strtolower($user)){ + self::getLog()->blockIP($IP, "Blocked by login security setting."); + $secsToGo = wfConfig::get('blockedTime'); + self::getLog()->do503($secsToGo, "Blocked by login security setting."); + break; + } + } + } + if(wfConfig::get('loginSec_lockInvalidUsers')){ + if(strlen($_POST['log']) > 0 && preg_match('/[^\r\s\n\t]+/', $_POST['log'])){ + self::lockOutIP($IP, "Used an invalid username '" . $_POST['log'] . "' to try to sign in."); + } + require('wfLockedOut.php'); + } + } + $tKey = 'wflginfl_' . wfUtils::inet_aton($IP); + if(is_wp_error($authUser) && ($authUser->get_error_code() == 'invalid_username' || $authUser->get_error_code() == 'incorrect_password') ){ + $tries = get_transient($tKey); + if($tries){ + $tries++; + } else { + $tries = 1; + } + if($tries >= wfConfig::get('loginSec_maxFailures')){ + self::lockOutIP($IP, "Exceeded the maximum number of login failures which is: " . wfConfig::get('loginSec_maxFailures') . ". The last username they tried to sign in with was: '" . $_POST['log'] . "'"); + require('wfLockedOut.php'); + } + set_transient($tKey, $tries, wfConfig::get('loginSec_countFailMins') * 60); + } else if(get_class($authUser) == 'WP_User'){ + delete_transient($tKey); //reset counter on success + } + } + if(is_wp_error($authUser)){ + if($authUser->get_error_code() == 'invalid_username'){ + self::getLog()->logLogin('loginFailInvalidUsername', 1, $username); + } else { + self::getLog()->logLogin('loginFailValidUsername', 1, $username); + } + } + + if(is_wp_error($authUser) && ($authUser->get_error_code() == 'invalid_username' || $authUser->get_error_code() == 'incorrect_password') && wfConfig::get('loginSec_maskLoginErrors')){ + return new WP_Error( 'incorrect_password', sprintf( __( 'ERROR: The username or password you entered is incorrect. Lost your password?' ), $_POST['log'], wp_lostpassword_url() ) ); + } + return $authUser; + } + public static function wfsnReportBlockedAttempt($IP, $type){ + try { + $curl = curl_init('http://noc3.wordfence.com:9050/hackAttempt/?blocked=1&k=' . wfConfig::get('apiKey') . '&IP=' . wfUtils::inet_aton($IP) . '&t=' . $type ); + if(defined('WP_PROXY_HOST') && defined('WP_PROXY_PORT') && wfUtils::hostNotExcludedFromProxy('noc3.wordfence.com') ){ + curl_setopt($curl, CURLOPT_HTTPPROXYTUNNEL, 0); + curl_setopt($curl, CURLOPT_PROXY, WP_PROXY_HOST . ':' . WP_PROXY_PORT); + if(defined('WP_PROXY_USERNAME') && defined('WP_PROXY_PASSWORD')){ + curl_setopt($curl, CURLOPT_PROXYUSERPWD, WP_PROXY_USERNAME . ':' . WP_PROXY_PASSWORD); + } + } + + curl_setopt($curl, CURLOPT_TIMEOUT, 1); + curl_setopt ($curl, CURLOPT_USERAGENT, "Wordfence.com UA " . (defined('WORDFENCE_VERSION') ? WORDFENCE_VERSION : '[Unknown version]') ); + curl_setopt ($curl, CURLOPT_RETURNTRANSFER, TRUE); + curl_setopt ($curl, CURLOPT_HEADER, 0); + curl_setopt ($curl, CURLOPT_SSL_VERIFYPEER, false); + curl_setopt ($curl, CURLOPT_SSL_VERIFYHOST, false); + curl_setopt($curl, CURLOPT_POST, false); + curl_exec($curl); + } catch(Exception $err){ + return false; + } + } + private static function wfsnIsBlocked($IP, $type){ + try { + $curl = curl_init('http://noc3.wordfence.com:9050/hackAttempt/?k=' . wfConfig::get('apiKey') . '&IP=' . wfUtils::inet_aton($IP) . '&t=' . $type ); + if(defined('WP_PROXY_HOST') && defined('WP_PROXY_PORT') && wfUtils::hostNotExcludedFromProxy('noc3.wordfence.com') ){ + curl_setopt($curl, CURLOPT_HTTPPROXYTUNNEL, 0); + curl_setopt($curl, CURLOPT_PROXY, WP_PROXY_HOST . ':' . WP_PROXY_PORT); + if(defined('WP_PROXY_USERNAME') && defined('WP_PROXY_PASSWORD')){ + curl_setopt($curl, CURLOPT_PROXYUSERPWD, WP_PROXY_USERNAME . ':' . WP_PROXY_PASSWORD); + } + } + + curl_setopt($curl, CURLOPT_TIMEOUT, 3); + curl_setopt ($curl, CURLOPT_USERAGENT, "Wordfence.com UA " . (defined('WORDFENCE_VERSION') ? WORDFENCE_VERSION : '[Unknown version]') ); + curl_setopt ($curl, CURLOPT_RETURNTRANSFER, TRUE); + curl_setopt ($curl, CURLOPT_HEADER, 0); + curl_setopt ($curl, CURLOPT_SSL_VERIFYPEER, false); + curl_setopt ($curl, CURLOPT_SSL_VERIFYHOST, false); + curl_setopt($curl, CURLOPT_POST, false); + $result = curl_exec($curl); + if(preg_match('/BLOCKED:(\d+)/', $result, $matches) && (! self::getLog()->isWhitelisted($IP)) ){ + return $matches[1]; + } + return false; + } catch(Exception $err){ + return false; + } + } + public static function logoutAction(){ + $userID = get_current_user_id(); + $userDat = get_user_by('id', $userID); + if(is_object($userDat)){ + self::getLog()->logLogin('logout', 0, $userDat->user_login); + } + } + public static function loginInitAction(){ + if(self::isLockedOut(wfUtils::getIP())){ + require('wfLockedOut.php'); + } + } + public static function authActionNew($username, &$passwd){ //As of php 5.4 we must denote passing by ref in the function definition, not the function call (as WordPress core does, which is a bug in WordPress). + if(self::isLockedOut(wfUtils::getIP())){ + require('wfLockedOut.php'); + } + if(! $username){ return; } + $userDat = get_user_by('login', $username); + $_POST['wordfence_userDat'] = $userDat; + if(preg_match(self::$passwordCodePattern, $passwd, $matches)){ + $_POST['wordfence_authFactor'] = $matches[1]; + $passwd = preg_replace('/^(.+)\s+(wf[a-z0-9]+)$/i', '$1', $passwd); + $_POST['pwd'] = $passwd; + } + } + public static function authActionOld($username, $passwd){ //Code is identical to Newer function above except passing by ref ampersand. Some versions of PHP are throwing an error if we include the ampersand in PHP prior to 5.4. + if(self::isLockedOut(wfUtils::getIP())){ + require('wfLockedOut.php'); + } + if(! $username){ return; } + $userDat = get_user_by('login', $username); + $_POST['wordfence_userDat'] = $userDat; + if(preg_match(self::$passwordCodePattern, $passwd, $matches)){ + $_POST['wordfence_authFactor'] = $matches[1]; + $passwd = preg_replace('/^(.+)\s+(wf[a-z0-9]+)$/i', '$1', $passwd); + $_POST['pwd'] = $passwd; + } + } + public static function getWPFileContent($file, $cType, $cName, $cVersion){ + if($cType == 'plugin'){ + if(preg_match('#^/?wp-content/plugins/[^/]+/#', $file)){ + $file = preg_replace('#^/?wp-content/plugins/[^/]+/#', '', $file); + } else { + //If user is using non-standard wp-content dir, then use /plugins/ in pattern to figure out what to strip off + $file = preg_replace('#^.*[^/]+/plugins/[^/]+/#', '', $file); + } + } else if($cType == 'theme'){ + if(preg_match('#/?wp-content/themes/[^/]+/#', $file)){ + $file = preg_replace('#/?wp-content/themes/[^/]+/#', '', $file); + } else { + $file = preg_replace('#^.*[^/]+/themes/[^/]+/#', '', $file); + } + } else if($cType == 'core'){ + + } else { + return array('errorMsg' => "An invalid type was specified to get file."); + } + $api = new wfAPI(wfConfig::get('apiKey'), wfUtils::getWPVersion()); + try { + $contResult = $api->binCall('get_wp_file_content', array( + 'v' => wfUtils::getWPVersion(), + 'file' => $file, + 'cType' => $cType, + 'cName' => $cName, + 'cVersion' => $cVersion + )); + if($contResult['data']){ + return array('fileContent' => $contResult['data']); + } else { + throw new Exception("We could not fetch a core WordPress file from the Wordfence API."); + } + } catch (Exception $e){ + return array('errorMsg' => htmlentities($e->getMessage())); + } + } + public static function ajax_loadAvgSitePerf_callback(){ + $limit = preg_match('/^\d+$/', $_POST['limit']) ? $_POST['limit'] : 10; + $wfdb = new wfDB(); + global $wpdb; + $p = $wpdb->base_prefix; + $rec = $wfdb->querySingleRec("select round(avg(domainLookupEnd),0) as domainLookupEnd, round(avg(connectEnd),0) as connectEnd, round(avg(responseStart),0) as responseStart, round(avg(responseEnd),0) as responseEnd, round(avg(domReady),0) as domReady, round(avg(loaded),0) as loaded from (select domainLookupEnd, connectEnd, responseStart, responseEnd, domReady, loaded from $p"."wfPerfLog order by ctime desc limit %d) as T", $limit); + return $rec; + } + public static function ajax_addTwoFactor_callback(){ + if(! wfConfig::get('isPaid')){ + return array('errorMsg' => 'Cellphone Sign-in is only available to paid members. Click here to upgrade now.'); + } + $username = $_POST['username']; + $phone = $_POST['phone']; + $user = get_user_by('login', $username); + if(! $user){ + return array('errorMsg' => "The username you specified does not exist."); + } + if(! preg_match('/^\+\d[\d\-]+$/', $phone)){ + return array('errorMsg' => "The phone number you entered must start with a '+', then country code and then area code and number. It can only contain the starting plus sign and then numbers and dashes. It can not contain spaces. For example, a number in the United States with country code '1' would look like this: +1-123-555-1234"); + } + $api = new wfAPI(wfConfig::get('apiKey'), wfUtils::getWPVersion()); + try { + $codeResult = $api->call('twoFactor_verification', array(), array('phone' => $phone)); + } catch(Exception $e){ + return array('errorMsg' => "Could not contact Wordfence servers to generate a verification code: " . htmlentities($e->getMessage()) ); + } + if(isset($codeResult['ok']) && $codeResult['ok']){ + $code = $codeResult['code']; + } else if(isset($codeResult['errorMsg']) && $codeResult['errorMsg']){ + return array('errorMsg' => htmlentities($codeResult['errorMsg'])); + } else { + return array('errorMsg' => "We could not generate a verification code."); + } + self::twoFactorAdd($user->ID, $phone, $code); + return array( + 'ok' => 1, + 'userID' => $user->ID, + 'username' => $username, + 'phone' => $phone + ); + } + public static function ajax_twoFacActivate_callback(){ + $userID = $_POST['userID']; + $code = $_POST['code']; + $twoFactorUsers = wfConfig::get_ser('twoFactorUsers', array()); + if(! is_array($twoFactorUsers)){ + $twoFactorUsers = array(); + } + $found = false; + $user = false; + for($i = 0; $i < sizeof($twoFactorUsers); $i++){ + if($twoFactorUsers[$i][0] == $userID){ + if($twoFactorUsers[$i][2] == $code){ + $twoFactorUsers[$i][3] = 'activated'; + $found = true; + $user = $twoFactorUsers[$i]; + break; + } else { + return array('errorMsg' => "That is not the correct code. Please look for an SMS containing an activation code on the phone with number: " . htmlentities($twoFactorUsers[$i][1]) ); + } + } + } + if(! $found){ + return array('errorMsg' => "We could not find the user you are trying to activate. They may have been removed from the list of Cellphone Sign-in users. Please reload this page."); + } + wfConfig::set_ser('twoFactorUsers', $twoFactorUsers); + $WPuser = get_userdata($userID); + return array( + 'ok' => 1, + 'userID' => $userID, + 'username' => $WPuser->user_login, + 'phone' => $user[1], + 'status' => 'activated' + ); + } + private static function twoFactorAdd($ID, $phone, $code){ + $twoFactorUsers = wfConfig::get_ser('twoFactorUsers', array()); + if(! is_array($twoFactorUsers)){ + $twoFactorUsers = array(); + } + for($i = 0; $i < sizeof($twoFactorUsers); $i++){ + if($twoFactorUsers[$i][0] == $ID || (! $twoFactorUsers[$i][0]) ){ + array_splice($twoFactorUsers, $i, 1); + $i--; + } + } + $twoFactorUsers[] = array($ID, $phone, $code, 'notActivated', time() + (86400 * 100)); //expiry of code is 100 days in future + wfConfig::set_ser('twoFactorUsers', $twoFactorUsers); + } + public static function ajax_loadTwoFactor_callback(){ + $users = wfConfig::get_ser('twoFactorUsers', array()); + $ret = array(); + foreach($users as $user){ + $WPuser = get_userdata($user[0]); + if($user){ + $ret[] = array( + 'userID' => $user[0], + 'username' => $WPuser->user_login, + 'phone' => $user[1], + 'status' => $user[3] + ); + } + } + return array('ok' => 1, 'users' => $ret); + } + public static function ajax_twoFacDel_callback(){ + $ID = $_POST['userID']; + $twoFactorUsers = wfConfig::get_ser('twoFactorUsers', array()); + if(! is_array($twoFactorUsers)){ + $twoFactorUsers = array(); + } + $deleted = false; + for($i = 0; $i < sizeof($twoFactorUsers); $i++){ + if($twoFactorUsers[$i][0] == $ID){ + array_splice($twoFactorUsers, $i, 1); + $deleted = true; + $i--; + } + } + wfConfig::set_ser('twoFactorUsers', $twoFactorUsers); + if($deleted){ + return array('ok' => 1, 'userID' => $ID); + } else { + return array('errorMsg' => "That user has already been removed from the list."); + } + } + public static function ajax_saveScanSchedule_callback(){ + if(! wfConfig::get('isPaid')){ + return array('errorMsg' => "Sorry but this feature is only available for paid customers."); + } + $schedDays = explode('|', $_POST['schedTxt']); + $schedule = array(); + for($day = 0; $day <= 6; $day++){ + $schedule[$day] = explode(',', $schedDays[$day]); + } + $schedMode = $_POST['schedMode']; + wfConfig::set_ser('scanSched', $schedule); + wfConfig::set('schedMode', $schedMode); + wordfence::scheduleScans(); + $nextTime = self::getNextScanStartTime(); + return array( + 'ok' => 1, + 'nextStart' => ($nextTime ? $nextTime : '') + ); + } + public static function getNextScanStartTime(){ + $nextTime = false; + $cron = _get_cron_array(); + foreach($cron as $key => $val){ + if(isset($val['wordfence_start_scheduled_scan'])){ + $nextTime = $key; + break; + } + } + return ($nextTime ? date('l jS \of F Y H:i:s A', $nextTime + (3600 * get_option('gmt_offset'))) : ''); + } + public static function wordfenceStartScheduledScan(){ + + //If scheduled scans are not enabled in the global config option, then don't run a scheduled scan. + if(wfConfig::get('scheduledScansEnabled') != '1'){ + return; + } + + //This prevents scheduled scans from piling up on low traffic blogs and all being run at once. + //Only one scheduled scan runs within a given 60 min window. Won't run if another scan has run within 30 mins. + $lastScanStart = wfConfig::get('lastScheduledScanStart', 0); + if($lastScanStart && (time() - $lastScanStart) < 1800){ + //A scheduled scan was started in the last 30 mins, so skip this one. + return; + } + wfConfig::set('lastScheduledScanStart', time()); + wordfence::status(1, 'info', "Scheduled Wordfence scan starting at " . date('l jS \of F Y h:i:s A', current_time('timestamp')) ); + + //We call this before the scan actually starts to advance the schedule for the next week. + //This ensures that if the scan crashes for some reason, the schedule will hold. + wordfence::scheduleScans(); + + wfScanEngine::startScan(); + } + public static function scheduleScans(){ //Idempotent. Deschedules everything and schedules the following week. + self::unscheduleAllScans(); + $sched = wfConfig::get_ser('scanSched', array()); + $mode = wfConfig::get('schedMode'); + if($mode == 'manual' && is_array($sched) && is_array($sched[0]) ){ + //Use sched as it is + } else { //Default to setting scans to run once a day at a randomly selected time. + $sched = array(); + $runAt = rand(0,23); + for($day = 0; $day <= 6; $day++){ + $sched[$day] = array(); + for($hour = 0; $hour <= 23; $hour++){ + if($hour == $runAt){ + $sched[$day][$hour] = 1; + } else { + $sched[$day][$hour] = 0; + } + } + } + } + for($scheduledDay = 0; $scheduledDay <= 6; $scheduledDay++){ + //0 is sunday + //6 is Saturday + for($scheduledHour = 0; $scheduledHour <= 23; $scheduledHour++){ + if($sched[$scheduledDay][$scheduledHour]){ + $wpTime = current_time('timestamp'); + $currentDayOfWeek = date('w', $wpTime); + $daysInFuture = $scheduledDay - $currentDayOfWeek; //It's monday and scheduledDay is Wed (3) then result is 2 days in future. It's Wed and sched day is monday, then result is 3 - 1 = -2 + if($daysInFuture < 0){ $daysInFuture += 7; } //Turns -2 into 5 days in future + $currentHour = date('G', $wpTime); + $secsOffset = ($scheduledHour - $currentHour) * 3600; //Offset from current hour, can be negative + $secondsInFuture = ($daysInFuture * 86400) + $secsOffset; //Can be negative, so we schedule those 1 week ahead + if($secondsInFuture < 1){ + $secondsInFuture += (86400 * 7); //Add a week + } + $futureTime = time() - (time() % 3600) + $secondsInFuture; //Modulo rounds down to top of the hour + $futureTime += rand(0,3600); //Prevent a stampede of scans on our scanning server + wordfence::status(4, 'info', "Scheduled time for day $scheduledDay hour $scheduledHour is: " . date('l jS \of F Y h:i:s A', $futureTime)); + self::scheduleSingleScan($futureTime); + } + } + } + } + private static function scheduleSingleScan($futureTime){ + wp_schedule_single_event($futureTime, 'wordfence_start_scheduled_scan', array($futureTime)); + $schedArgs = wfConfig::get_ser('schedScanArgs', array()); + if(! is_array($schedArgs)){ //paranoia + $schedArgs = array(); + } + $schedArgs[] = $futureTime; + wfConfig::set_ser('schedScanArgs', $schedArgs); + } + private static function unscheduleAllScans(){ + wp_clear_scheduled_hook('wordfence_start_scheduled_scan'); //Unschedule legacy scans without args + + $schedArgs = wfConfig::get_ser('schedScanArgs', array()); + if(is_array($schedArgs)){ + foreach($schedArgs as $futureTime){ + wp_clear_scheduled_hook('wordfence_start_scheduled_scan', array($futureTime)); + } + } + wfConfig::set_ser('schedScanArgs', array()); + } + public static function ajax_saveCountryBlocking_callback(){ + if(! wfConfig::get('isPaid')){ + return array('errorMsg' => "Sorry but this feature is only available for paid customers."); + } + wfConfig::set('cbl_action', $_POST['blockAction']); + wfConfig::set('cbl_countries', $_POST['codes']); + wfConfig::set('cbl_redirURL', $_POST['redirURL']); + wfConfig::set('cbl_loggedInBlocked', $_POST['loggedInBlocked']); + wfConfig::set('cbl_loginFormBlocked', $_POST['loginFormBlocked']); + wfConfig::set('cbl_restOfSiteBlocked', $_POST['restOfSiteBlocked']); + wfConfig::set('cbl_bypassRedirURL', $_POST['bypassRedirURL']); + wfConfig::set('cbl_bypassRedirDest', $_POST['bypassRedirDest']); + wfConfig::set('cbl_bypassViewURL', $_POST['bypassViewURL']); + return array('ok' => 1); + } + public static function ajax_sendActivityLog_callback(){ + $content = "SITE: " . site_url() . "\nPLUGIN VERSION: " . WORDFENCE_VERSION . "\nWP VERSION: " . wfUtils::getWPVersion() . "\nAPI KEY: " . wfConfig::get('apiKey') . "\nADMIN EMAIL: " . get_option('admin_email') . "\nLOG:\n\n"; + $wfdb = new wfDB(); + global $wpdb; + $p = $wpdb->base_prefix; + $q = $wfdb->querySelect("select ctime, level, type, msg from $p"."wfStatus order by ctime desc limit 10000"); + $timeOffset = 3600 * get_option('gmt_offset'); + foreach($q as $r){ + if($r['type'] == 'error'){ + $content .= "\n"; + } + $content .= date(DATE_RFC822, $r['ctime'] + $timeOffset) . '::' . sprintf('%.4f', $r['ctime']) . ':' . $r['level'] . ':' . $r['type'] . '::' . $r['msg'] . "\n"; + } + $content .= "\n\n"; + + ob_start(); + phpinfo(); + $phpinfo = ob_get_contents(); + ob_get_clean(); + + $content .= $phpinfo; + + wp_mail($_POST['email'], "Wordfence Activity Log", $content); + return array('ok' => 1); + } + public static function ajax_startTourAgain_callback(){ + wfConfig::set('tourClosed', 0); + return array('ok' => 1); + } + public static function ajax_downgradeLicense_callback(){ + $api = new wfAPI('', wfUtils::getWPVersion()); + try { + $keyData = $api->call('get_anon_api_key'); + if($keyData['ok'] && $keyData['apiKey']){ + wfConfig::set('apiKey', $keyData['apiKey']); + wfConfig::set('isPaid', 0); + //When downgrading we must disable all two factor authentication because it can lock an admin out if we don't. + wfConfig::set_ser('twoFactorUsers', array()); + } else { + throw new Exception("Could not understand the response we received from the Wordfence servers when applying for a free API key."); + } + } catch(Exception $e){ + return array('errorMsg' => "Could not fetch free API key from Wordfence: " . htmlentities($e->getMessage())); + } + return array('ok' => 1); + } + public static function ajax_tourClosed_callback(){ + wfConfig::set('tourClosed', 1); + return array('ok' => 1); + } + public static function postRowActions($actions, $post){ + if(wfUtils::isAdmin()){ + $actions = array_merge($actions, array( + 'wfCachePurge' => 'Remove from Wordfence cache' + )); + } + return $actions; + } + public static function pageRowActions($actions, $post){ + if(wfUtils::isAdmin()){ + $actions = array_merge($actions, array( + 'wfCachePurge' => 'Remove from Wordfence cache' + )); + } + return $actions; + } + public static function postSubmitboxStart(){ + if(wfUtils::isAdmin()){ + global $post; + echo '

'; + } + } + public static function disablePermalinksFilter($newVal, $oldVal){ + if(wfConfig::get('cacheType', false) == 'falcon' && $oldVal && (! $newVal) ){ //Falcon is enabled and admin is disabling permalinks + $err = wfCache::addHtaccessCode('remove'); + //if($err){ return $oldVal; } //We might want to not allow the user to disable permalinks if we can't disable falcon. Allowing it for now. + $err = wfCache::updateBlockedIPs('remove'); + //if($err){ return $oldVal; } //We might want to not allow the user to disable permalinks if we can't disable falcon. Allowing it for now. + wfConfig::set('cacheType', false); + } + return $newVal; + } + public static function ajax_autoUpdateChoice_callback(){ + $choice = $_POST['choice']; + wfConfig::set('autoUpdateChoice', '1'); + if($choice == 'yes'){ + wfConfig::set('autoUpdate', '1'); + } else { + wfConfig::set('autoUpdate', '0'); + } + return array('ok' => 1); + } + public static function ajax_removeFromCache_callback(){ + $id = $_POST['id']; + $link = get_permalink($id); + if(preg_match('/^https?:\/\/([^\/]+)(.*)$/i', $link, $matches)){ + $host = $matches[1]; + $URI = $matches[2]; + if(! $URI){ + $URI = '/'; + } + $sslFile = wfCache::fileFromURI($host, $URI, true); //SSL + $normalFile = wfCache::fileFromURI($host, $URI, false); //non-SSL + @unlink($sslFile); + @unlink($sslFile . '_gzip'); + @unlink($normalFile); + @unlink($normalFile . '_gzip'); + } + return array('ok' => 1); + } + public static function ajax_saveCacheOptions_callback(){ + $changed = false; + if($_POST['allowHTTPSCaching'] != wfConfig::get('allowHTTPSCaching', false)){ + $changed = true; + } + wfConfig::set('allowHTTPSCaching', $_POST['allowHTTPSCaching'] == '1' ? 1 : 0); + wfConfig::set('addCacheComment', $_POST['addCacheComment'] == 1 ? '1' : 0); + wfConfig::set('clearCacheSched', $_POST['clearCacheSched'] == 1 ? '1' : 0); + if($changed && wfConfig::get('cacheType', false) == 'falcon'){ + $err = wfCache::addHtaccessCode('add'); + if($err){ + return array('updateErr' => "Wordfence could not edit your .htaccess file. The error was: " . $err, 'code' => wfCache::getHtaccessCode() ); + } + } + wfCache::scheduleCacheClear(); + return array('ok' => 1); + } + public static function ajax_saveCacheConfig_callback(){ + $cacheType = $_POST['cacheType']; + if($cacheType == 'falcon' || $cacheType == 'php'){ + $plugins = get_plugins(); + $badPlugins = array(); + foreach($plugins as $pluginFile => $data){ + if(is_plugin_active($pluginFile)){ + if($pluginFile == 'w3-total-cache/w3-total-cache.php'){ + $badPlugins[] = "W3 Total Cache"; + } else if($pluginFile == 'quick-cache/quick-cache.php'){ + $badPlugins[] = "Quick Cache"; + } else if($pluginFile == "wp-super-cache/wp-cache.php"){ + $badPlugins[] = "WP Super Cache"; + } else if($pluginFile == "wp-fast-cache/wp-fast-cache.php"){ + $badPlugins[] = "WP Fast Cache"; + } else if($pluginFile == "wp-fastest-cache/wpFastestCache.php"){ + $badPlugins[] = "WP Fastest Cache"; + } + } + } + if(count($badPlugins) > 0){ + return array('errorMsg' => "You can not enable caching in Wordfence with other caching plugins enabled. This may cause conflicts. You need to disable other caching plugins first. Wordfence caching is very fast and does not require other caching plugins to be active. The plugins you have that conflict are: " . implode(', ', $badPlugins) . ". Disable these plugins, then return to this page and enable Wordfence caching."); + } + $siteURL = site_url(); + if(preg_match('/^https?:\/\/[^\/]+\/[^\/]+\/[^\/]+\/.+/i', $siteURL)){ + return array('errorMsg' => "Wordfence caching currently does not support sites that are installed in a subdirectory and have a home page that is more than 2 directory levels deep. e.g. we don't support sites who's home page is http://example.com/levelOne/levelTwo/levelThree"); + } + } + if($cacheType == 'falcon'){ + if(! get_option('permalink_structure', '')){ + return array('errorMsg' => "You need to enable Permalinks for your site to use Falcon Engine. You can enable Permalinks in WordPress by going to the Settings - Permalinks menu and enabling it there. Permalinks change your site URL structure from something that looks like /p=123 to pretty URLs like /my-new-post-today/ that are generally more search engine friendly."); + } + } + $warnHtaccess = false; + if($cacheType == 'disable' || $cacheType == 'php'){ + $removeError = wfCache::addHtaccessCode('remove'); + $removeError2 = wfCache::updateBlockedIPs('remove'); + if($removeError || $removeError2){ + $warnHtaccess = true; + } + } + if($cacheType == 'php' || $cacheType == 'falcon'){ + $err = wfCache::cacheDirectoryTest(); + if($err){ + return array('ok' => 1, 'heading' => "Could not write to cache directory", 'body' => "To enable caching, Wordfence needs to be able to create and write to the /wp-content/wfcache/ directory. We did some tests that indicate this is not possible. You need to manually create the /wp-content/wfcache/ directory and make it writable by Wordfence. The error we encountered was during our tests was: $err"); + } + } + + //Mainly we clear the cache here so that any footer cache diagnostic comments are rebuilt. We could just leave it intact unless caching is being disabled. + if($cacheType != wfConfig::get('cacheType', false)){ + wfCache::scheduleCacheClear(); + } + $htMsg = ""; + if($warnHtaccess){ + $htMsg = " Warning: We could not remove the caching code from your .htaccess file. you need to remove this manually yourself. "; + } + if($cacheType == 'disable'){ + wfConfig::set('cacheType', false); + return array('ok' => 1, 'heading' => "Caching successfully disabled.", 'body' => "{$htMsg}Caching has been disabled on your system.

"); + } else if($cacheType == 'php'){ + wfConfig::set('cacheType', 'php'); + return array('ok' => 1, 'heading' => "Wordfence Basic Caching Enabled", 'body' => "{$htMsg}Wordfence basic caching has been enabled on your system.

"); + } else if($cacheType == 'falcon'){ + if($_POST['noEditHtaccess'] != '1'){ + $err = wfCache::addHtaccessCode('add'); + if($err){ + return array('ok' => 1, 'heading' => "Wordfence could not edit .htaccess", 'body' => "Wordfence could not edit your .htaccess code. The error was: " . $err); + } + } + wfConfig::set('cacheType', 'falcon'); + wfCache::scheduleUpdateBlockedIPs(); //Runs every 5 mins until we change cachetype + return array('ok' => 1, 'heading' => "Wordfence Falcon Engine Activated!", 'body' => "Wordfence Falcon Engine has been activated on your system. You will see this icon appear on the Wordfence admin pages as long as Falcon is active indicating your site is running in high performance mode:
"); + } + return array('errorMsg' => "An error occurred."); + } + public static function ajax_getCacheStats_callback(){ + $s = wfCache::getCacheStats(); + if($s['files'] == 0){ + return array('ok' => 1, 'heading' => 'Cache Stats', 'body' => "The cache is currently empty. It may be disabled or it may have been recently cleared."); + } + $body = 'Total files in cache: ' . $s['files'] . + '
Total directories in cache: ' . $s['dirs'] . + '
Total data: ' . $s['data'] . 'KB'; + if($s['compressedFiles'] > 0){ + $body .= '
Files: ' . $s['uncompressedFiles'] . + '
Data: ' . $s['uncompressedKBytes'] . 'KB' . + '
Compressed files: ' . $s['compressedFiles'] . + '
Compressed data: ' . $s['compressedKBytes'] . 'KB'; + } + if($s['largestFile'] > 0){ + $body .= '
Largest file: ' . $s['largestFile'] . 'KB'; + } + if($s['oldestFile'] !== false){ + $body .= '
Oldest file in cache created '; + if(time() - $s['oldestFile'] < 300){ + $body .= (time() - $s['oldestFile']) . ' seconds ago'; + } else { + $body .= human_time_diff($s['oldestFile']) . ' ago.'; + } + } + if($s['newestFile'] !== false){ + $body .= '
Newest file in cache created '; + if(time() - $s['newestFile'] < 300){ + $body .= (time() - $s['newestFile']) . ' seconds ago'; + } else { + $body .= human_time_diff($s['newestFile']) . ' ago.'; + } + } + + return array('ok' => 1, 'heading' => 'Cache Stats', 'body' => $body); + } + public static function ajax_clearPageCache_callback(){ + $stats = wfCache::clearPageCache(); + if($stats['error']){ + $body = "A total of " . $stats['totalErrors'] . " errors occurred while trying to clear your cache. The last error was: " . $stats['error']; + return array('ok' => 1, 'heading' => 'Error occurred while clearing cache', 'body' => $body ); + } + $body = "A total of " . $stats['filesDeleted'] . ' files were deleted and ' . $stats['dirsDeleted'] . ' directories were removed. We cleared a total of ' . $stats['totalData'] . 'KB of data in the cache.'; + if($stats['totalErrors'] > 0){ + $body .= ' A total of ' . $stats['totalErrors'] . ' errors were encountered. This probably means that we could not remove some of the files or directories in the cache. Please use your CPanel or file manager to remove the rest of the files in the directory: ' . WP_CONTENT_DIR . '/wfcache/'; + } + return array('ok' => 1, 'heading' => 'Page Cache Cleared', 'body' => $body ); + } + public static function ajax_updateConfig_callback(){ + $key = $_POST['key']; + $val = $_POST['val']; + wfConfig::set($key, $val); + return array('ok' => 1); + } + public static function ajax_checkFalconHtaccess_callback(){ + if(wfUtils::isNginx()){ + return array('nginx' => 1); + } + $file = wfCache::getHtaccessPath(); + if(! $file){ + return array('err' => "We could not find your .htaccess file to modify it.", 'code' => wfCache::getHtaccessCode() ); + } + $fh = @fopen($file, 'r+'); + if(! $fh){ + $err = error_get_last(); + return array('err' => "We found your .htaccess file but could not open it for writing: " . $err['message'], 'code' => wfCache::getHtaccessCode() ); + } + return array('ok' => 1); + } + public static function ajax_downloadHtaccess_callback(){ + $url = site_url(); + $url = preg_replace('/^https?:\/\//i', '', $url); + $url = preg_replace('/[^a-zA-Z0-9\.]+/', '_', $url); + $url = preg_replace('/^_+/', '', $url); + $url = preg_replace('/_+$/', '', $url); + header('Content-Type: application/octet-stream'); + header('Content-Disposition: attachment; filename="htaccess_Backup_for_' . $url . '.txt"'); + $file = wfCache::getHtaccessPath(); + readfile($file); + die(); + } + public static function ajax_addCacheExclusion_callback(){ + $ex = wfConfig::get('cacheExclusions', false); + if($ex){ + $ex = unserialize($ex); + } else { + $ex = array(); + } + $ex[] = array( + 'pt' => $_POST['patternType'], + 'p' => $_POST['pattern'], + 'id' => microtime(true) + ); + wfConfig::set('cacheExclusions', serialize($ex)); + wfCache::scheduleCacheClear(); + if(wfConfig::get('cacheType', false) == 'falcon' && preg_match('/^(?:uac|uaeq|cc)$/', $_POST['patternType'])){ + if(wfCache::addHtaccessCode('add')){ //rewrites htaccess rules + return array('errorMsg' => "We added the rule you requested but could not modify your .htaccess file. Please delete this rule, check the permissions on your .htaccess file and then try again."); + } + } + return array('ok' => 1); + } + public static function ajax_removeCacheExclusion_callback(){ + $id = $_POST['id']; + $ex = wfConfig::get('cacheExclusions', false); + if(! $ex){ + return array('ok' => 1); + } + $ex = unserialize($ex); + $rewriteHtaccess = false; + for($i = 0; $i < sizeof($ex); $i++){ + if((string)$ex[$i]['id'] == (string)$id){ + if(wfConfig::get('cacheType', false) == 'falcon' && preg_match('/^(?:uac|uaeq|cc)$/', $ex[$i]['pt'])){ + $rewriteHtaccess = true; + } + array_splice($ex, $i, 1); + //Dont break in case of dups + } + } + wfConfig::set('cacheExclusions', serialize($ex)); + if($rewriteHtaccess && wfCache::addHtaccessCode('add')){ //rewrites htaccess rules + return array('errorMsg', "We removed that rule but could not rewrite your .htaccess file. You're going to have to manually remove this rule from your .htaccess file. Please reload this page now."); + } + return array('ok' => 1); + } + public static function ajax_loadCacheExclusions_callback(){ + $ex = wfConfig::get('cacheExclusions', false); + if(! $ex){ + return array('ex' => false); + } + $ex = unserialize($ex); + return array('ex' => $ex); + } + public static function ajax_saveConfig_callback(){ + $reload = ''; + $opts = wfConfig::parseOptions(); + $emails = array(); + foreach(explode(',', preg_replace('/[\r\n\s\t]+/', '', $opts['alertEmails'])) as $email){ + if(strlen($email) > 0){ + $emails[] = $email; + } + } + if(sizeof($emails) > 0){ + $badEmails = array(); + foreach($emails as $email){ + if(! preg_match('/^[^@]+@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,11})$/i', $email)){ + $badEmails[] = $email; + } + } + if(sizeof($badEmails) > 0){ + return array('errorMsg' => "The following emails are invalid: " . htmlentities(implode(', ', $badEmails)) ); + } + $opts['alertEmails'] = implode(',', $emails); + } else { + $opts['alertEmails'] = ''; + } + $opts['scan_exclude'] = preg_replace('/[\r\n\s\t]+/', '', $opts['scan_exclude']); + $whiteIPs = array(); + foreach(explode(',', preg_replace('/[\r\n\s\t]+/', '', $opts['whitelisted'])) as $whiteIP){ + if(strlen($whiteIP) > 0){ + $whiteIPs[] = $whiteIP; + } + } + if(sizeof($whiteIPs) > 0){ + $badWhiteIPs = array(); + foreach($whiteIPs as $whiteIP){ + if(! preg_match('/^[\[\]\-\d]+\.[\[\]\-\d]+\.[\[\]\-\d]+\.[\[\]\-\d]+$/', $whiteIP)){ + $badWhiteIPs[] = $whiteIP; + } + } + if(sizeof($badWhiteIPs) > 0){ + return array('errorMsg' => "Please make sure you separate your IP addresses with commas. The following whitelisted IP addresses are invalid: " . htmlentities(implode(', ', $badWhiteIPs)) ); + } + $opts['whitelisted'] = implode(',', $whiteIPs); + } else { + $opts['whitelisted'] = ''; + } + $validUsers = array(); + $invalidUsers = array(); + foreach(explode(',', $opts['liveTraf_ignoreUsers']) as $val){ + $val = trim($val); + if(strlen($val) > 0){ + if(get_user_by('login', $val)){ + $validUsers[] = $val; + } else { + $invalidUsers[] = $val; + } + } + } + $userBlacklist = array(); + foreach(explode(',', $opts['loginSec_userBlacklist']) as $user){ + $user = trim($user); + if(strlen($user) > 0){ + $userBlacklist[] = $user; + } + } + if(sizeof($userBlacklist) > 0){ + $opts['loginSec_userBlacklist'] = implode(',', $userBlacklist); + } else { + $opts['loginSec_userBlacklist'] = ''; + } + + $opts['apiKey'] = trim($opts['apiKey']); + if($opts['apiKey'] && (! preg_match('/^[a-fA-F0-9]+$/', $opts['apiKey'])) ){ //User entered something but it's garbage. + return array('errorMsg' => "You entered an API key but it is not in a valid format. It must consist only of characters A to F and 0 to 9."); + } + + if(sizeof($invalidUsers) > 0){ + return array('errorMsg' => "The following users you selected to ignore in live traffic reports are not valid on this system: " . htmlentities(implode(', ', $invalidUsers)) ); + } + if(sizeof($validUsers) > 0){ + $opts['liveTraf_ignoreUsers'] = implode(',', $validUsers); + } else { + $opts['liveTraf_ignoreUsers'] = ''; + } + + $validIPs = array(); + $invalidIPs = array(); + foreach(explode(',', preg_replace('/[\r\n\s\t]+/', '', $opts['liveTraf_ignoreIPs'])) as $val){ + if(strlen($val) > 0){ + if(preg_match('/^\d+\.\d+\.\d+\.\d+$/', $val)){ + $validIPs[] = $val; + } else { + $invalidIPs[] = $val; + } + } + } + if(sizeof($invalidIPs) > 0){ + return array('errorMsg' => "The following IPs you selected to ignore in live traffic reports are not valid: " . htmlentities(implode(', ', $invalidIPs)) ); + } + if(sizeof($validIPs) > 0){ + $opts['liveTraf_ignoreIPs'] = implode(',', $validIPs); + } + + if(preg_match('/[a-zA-Z0-9\d]+/', $opts['liveTraf_ignoreUA'])){ + $opts['liveTraf_ignoreUA'] = trim($opts['liveTraf_ignoreUA']); + } else { + $opts['liveTraf_ignoreUA'] = ''; + } + if(! $opts['other_WFNet']){ + $wfdb = new wfDB(); + global $wpdb; + $p = $wpdb->base_prefix; + $wfdb->queryWrite("delete from $p"."wfBlocks where wfsn=1 and permanent=0"); + } + if($opts['howGetIPs'] != wfConfig::get('howGetIPs', '')){ + $reload = 'reload'; + } + $regenerateHtaccess = false; + if(wfConfig::get('bannedURLs', false) != $opts['bannedURLs']){ + $regenerateHtaccess = true; + } + + foreach($opts as $key => $val){ + if($key != 'apiKey'){ //Don't save API key yet + wfConfig::set($key, $val); + } + } + if($regenerateHtaccess){ + wfCache::addHtaccessCode('add'); + } + + if($opts['autoUpdate'] == '1'){ + wfConfig::enableAutoUpdate(); + } else if($opts['autoUpdate'] == '0'){ + wfConfig::disableAutoUpdate(); + } + + + + $paidKeyMsg = false; + + + if(! $opts['apiKey']){ //Empty API key (after trim above), then try to get one. + $api = new wfAPI('', wfUtils::getWPVersion()); + try { + $keyData = $api->call('get_anon_api_key'); + if($keyData['ok'] && $keyData['apiKey']){ + wfConfig::set('apiKey', $keyData['apiKey']); + wfConfig::set('isPaid', 0); + $reload = 'reload'; + } else { + throw new Exception("We could not understand the Wordfence server's response because it did not contain an 'ok' and 'apiKey' element."); + } + } catch(Exception $e){ + return array('errorMsg' => "Your options have been saved, but we encountered a problem. You left your API key blank, so we tried to get you a free API key from the Wordfence servers. However we encountered a problem fetching the free key: " . htmlentities($e->getMessage()) ); + } + } else if($opts['apiKey'] != wfConfig::get('apiKey')){ + $api = new wfAPI($opts['apiKey'], wfUtils::getWPVersion()); + try { + $res = $api->call('check_api_key', array(), array()); + if($res['ok'] && isset($res['isPaid'])){ + wfConfig::set('apiKey', $opts['apiKey']); + $reload = 'reload'; + wfConfig::set('isPaid', $res['isPaid']); //res['isPaid'] is boolean coming back as JSON and turned back into PHP struct. Assuming JSON to PHP handles bools. + if($res['isPaid']){ + $paidKeyMsg = true; + } + } else { + throw new Exception("We could not understand the Wordfence API server reply when updating your API key."); + } + } catch (Exception $e){ + return array('errorMsg' => "Your options have been saved. However we noticed you changed your API key and we tried to verify it with the Wordfence servers and received an error: " . htmlentities($e->getMessage()) ); + } + } else { + $api = new wfAPI($opts['apiKey'], wfUtils::getWPVersion()); + $res = $api->call('ping_api_key', array(), array()); + } + return array('ok' => 1, 'reload' => $reload, 'paidKeyMsg' => $paidKeyMsg ); + } + public static function ajax_clearAllBlocked_callback(){ + $op = $_POST['op']; + $wfLog = self::getLog(); + if($op == 'blocked'){ + wordfence::status(1, 'info', "Ajax request received to unblock All IP's including permanent blocks."); + $wfLog->unblockAllIPs(); + } else if($op == 'locked'){ + $wfLog->unlockAllIPs(); + } + return array('ok' => 1); + } + public static function ajax_unlockOutIP_callback(){ + $IP = $_POST['IP']; + self::getLog()->unlockOutIP($IP); + return array('ok' => 1); + } + public static function ajax_unblockIP_callback(){ + $IP = $_POST['IP']; + self::getLog()->unblockIP($IP); + return array('ok' => 1); + } + public static function ajax_permBlockIP_callback(){ + $IP = $_POST['IP']; + self::getLog()->blockIP($IP, "Manual permanent block by admin", false, true); + return array('ok' => 1); + } + public static function ajax_loadStaticPanel_callback(){ + $mode = $_POST['mode']; + $wfLog = self::getLog(); + if($mode == 'topScanners' || $mode == 'topLeechers'){ + $results = $wfLog->getLeechers($mode); + } else if($mode == 'blockedIPs'){ + $results = $wfLog->getBlockedIPs(); + } else if($mode == 'lockedOutIPs'){ + $results = $wfLog->getLockedOutIPs(); + } else if($mode == 'throttledIPs'){ + $results = $wfLog->getThrottledIPs(); + } + return array('ok' => 1, 'results' => $results); + } + public static function ajax_loadBlockRanges_callback(){ + $results = self::getLog()->getRanges(); + return array('ok' => 1, 'results' => $results); + } + public static function ajax_unblockRange_callback(){ + $id = trim($_POST['id']); + self::getLog()->unblockRange($id); + return array('ok' => 1); + } + public static function ajax_blockIPUARange_callback(){ + $ipRange = trim($_POST['ipRange']); + $uaRange = trim($_POST['uaRange']); + $reason = trim($_POST['reason']); + if(preg_match('/\|+/', $ipRange . $uaRange)){ + return array('err' => 1, 'errorMsg' => "You are not allowed to include a pipe character \"|\" in your IP range or browser pattern"); + } + if( (! $ipRange) && wfUtils::isUABlocked($uaRange)){ + return array('err' => 1, 'errorMsg' => "The browser pattern you specified will block you from your own website. We have not accepted this pattern to protect you from being blocked."); + } + if($ipRange && (! preg_match('/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\-\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/', $ipRange ))){ + return array('err' => 1, 'errorMsg' => "The IP range you specified is not valid. Please specify an IP range like the following example: \"1.2.3.4 - 1.2.3.8\" without quotes."); + } + if($ipRange){ + $ips = explode('-', $ipRange); + $ip1 = wfUtils::inet_aton($ips[0]); + $ip2 = wfUtils::inet_aton($ips[1]); + if($ip1 >= $ip2){ + return array('err' => 1, 'errorMsg' => "The first IP address in your range must be less than the second IP address in your range."); + } + $clientIP = wfUtils::inet_aton(wfUtils::getIP()); + if($ip1 <= $clientIP && $ip2 >= $clientIP){ + return array('err' => 1, 'errorMsg' => "You are trying to block yourself. Your IP address is " . htmlentities(wfUtils::getIP()) . " which falls into the range " . htmlentities($ipRange) . ". This blocking action has been cancelled so that you don't block yourself from your website."); + } + $ipRange = $ip1 . '-' . $ip2; + } + $range = $ipRange . '|' . $uaRange; + self::getLog()->blockRange('IU', $range, $reason); + return array('ok' => 1); + } + public static function ajax_whois_callback(){ + if( ! class_exists( 'Whois' )){ + require_once('whois/whois.main.php'); + } + $val = trim($_POST['val']); + $val = preg_replace('/[^a-zA-Z0-9\.\-]+/', '', $val); + $whois = new Whois(); + $result = $whois->Lookup($val); + return array('ok' => 1, 'result' => $result); + } + public static function ajax_blockIP_callback(){ + $IP = trim($_POST['IP']); + $perm = $_POST['perm'] == '1' ? true : false; + if(! preg_match('/^\d+\.\d+\.\d+\.\d+$/', $IP)){ + return array('err' => 1, 'errorMsg' => "Please enter a valid IP address to block."); + } + if($IP == wfUtils::getIP()){ + return array('err' => 1, 'errorMsg' => "You can't block your own IP address."); + } + if(self::getLog()->isWhitelisted($IP)){ + return array('err' => 1, 'errorMsg' => "The IP address " . htmlentities($IP) . " is whitelisted and can't be blocked or it is in a range of internal IP addresses that Wordfence does not block. You can remove this IP from the whitelist on the Wordfence options page."); + } + if(wfConfig::get('neverBlockBG') != 'treatAsOtherCrawlers'){ //Either neverBlockVerified or neverBlockUA is selected which means the user doesn't want to block google + if(wfCrawl::verifyCrawlerPTR('/googlebot\.com$/i', $IP)){ + return array('err' => 1, 'errorMsg' => "The IP address you're trying to block belongs to Google. Your options are currently set to not block these crawlers. Change this in Wordfence options if you want to manually block Google."); + } + } + self::getLog()->blockIP($IP, $_POST['reason'], false, $perm); + return array('ok' => 1); + } + public static function ajax_reverseLookup_callback(){ + $ips = explode(',', $_POST['ips']); + $res = array(); + foreach($ips as $ip){ + $res[$ip] = wfUtils::reverseLookup($ip); + } + return array('ok' => 1, 'ips' => $res); + } + public static function ajax_deleteIssue_callback(){ + $wfIssues = new wfIssues(); + $issueID = $_POST['id']; + $wfIssues->deleteIssue($issueID); + return array('ok' => 1); + } + public static function ajax_updateAllIssues_callback(){ + $op = $_POST['op']; + $i = new wfIssues(); + if($op == 'deleteIgnored'){ + $i->deleteIgnored(); + } else if($op == 'deleteNew'){ + $i->deleteNew(); + } else if($op == 'ignoreAllNew'){ + $i->ignoreAllNew(); + } else { + return array('errorMsg' => "An invalid operation was called."); + } + return array('ok' => 1); + } + public static function ajax_updateIssueStatus_callback(){ + $wfIssues = new wfIssues(); + $status = $_POST['status']; + $issueID = $_POST['id']; + if(! preg_match('/^(?:new|delete|ignoreP|ignoreC)$/', $status)){ + return array('errorMsg' => "An invalid status was specified when trying to update that issue."); + } + $wfIssues->updateIssue($issueID, $status); + return array('ok' => 1); + } + public static function ajax_killScan_callback(){ + wordfence::status(1, 'info', "Scan kill request received."); + wordfence::status(10, 'info', "SUM_KILLED:A request was received to kill the previous scan."); + wfUtils::clearScanLock(); //Clear the lock now because there may not be a scan running to pick up the kill request and clear the lock + wfScanEngine::requestKill(); + return array( + 'ok' => 1, + ); + } + public static function ajax_loadIssues_callback(){ + $i = new wfIssues(); + $iss = $i->getIssues(); + return array( + 'issuesLists' => $iss, + 'summary' => $i->getSummaryItems(), + 'lastScanCompleted' => wfConfig::get('lastScanCompleted') + ); + } + public static function ajax_ticker_callback(){ + $wfdb = new wfDB(); + global $wpdb; + $p = $wpdb->base_prefix; + + $serverTime = $wfdb->querySingle("select unix_timestamp()"); + $issues = new wfIssues(); + $jsonData = array( + 'serverTime' => $serverTime, + 'msg' => $wfdb->querySingle("select msg from $p"."wfStatus where level < 3 order by ctime desc limit 1") + ); + $events = array(); + $alsoGet = $_POST['alsoGet']; + if(preg_match('/^logList_(404|hit|human|ruser|crawler|gCrawler|loginLogout)$/', $alsoGet, $m)){ + $type = $m[1]; + $newestEventTime = $_POST['otherParams']; + $listType = 'hits'; + if($type == 'loginLogout'){ + $listType = 'logins'; + } + $events = self::getLog()->getHits($listType, $type, $newestEventTime); + } else if($alsoGet == 'perfStats'){ + $newestEventTime = $_POST['otherParams']; + $events = self::getLog()->getPerfStats($newestEventTime); + } + /* + $longest = 0; + foreach($events as $e){ + $length = $e['domainLookupEnd'] + $e['connectEnd'] + $e['responseStart'] + $e['responseEnd'] + $e['domReady'] + $e['loaded']; + $longest = $length > $longest ? $length : $longest; + } + */ + $jsonData['events'] = $events; + $jsonData['alsoGet'] = $alsoGet; //send it back so we don't load data if panel has changed + //$jsonData['longestLine'] = $longest; + return $jsonData; + } + public static function ajax_activityLogUpdate_callback(){ + $issues = new wfIssues(); + return array( + 'ok' => 1, + 'items' => self::getLog()->getStatusEvents($_POST['lastctime']), + 'currentScanID' => $issues->getScanTime() + ); + } + public static function ajax_updateAlertEmail_callback(){ + $email = trim($_POST['email']); + if(! preg_match('/[^\@]+\@[^\.]+\.[^\.]+/', $email)){ + return array( 'err' => "Invalid email address given."); + } + wfConfig::set('alertEmails', $email); + return array('ok' => 1, 'email' => $email); + } + public static function ajax_bulkOperation_callback(){ + $op = $_POST['op']; + if($op == 'del' || $op == 'repair'){ + $ids = $_POST['ids']; + $filesWorkedOn = 0; + $errors = array(); + $issues = new wfIssues(); + foreach($ids as $id){ + $issue = $issues->getIssueByID($id); + if(! $issue){ + $errors[] = "Could not delete one of the files because we could not find the issue. Perhaps it's been resolved?"; + continue; + } + $file = $issue['data']['file']; + $localFile = ABSPATH . '/' . preg_replace('/^[\.\/]+/', '', $file); + $localFile = realpath($localFile); + if(strpos($localFile, ABSPATH) !== 0){ + $errors[] = "An invalid file was requested: " . htmlentities($file); + continue; + } + if($op == 'del'){ + if(@unlink($localFile)){ + $issues->updateIssue($id, 'delete'); + $filesWorkedOn++; + } else { + $err = error_get_last(); + $errors[] = "Could not delete file " . htmlentities($file) . ". Error was: " . htmlentities($err['message']); + } + } else if($op == 'repair'){ + $dat = $issue['data']; + $result = self::getWPFileContent($dat['file'], $dat['cType'], $dat['cName'], $dat['cVersion']); + if($result['cerrorMsg']){ + $errors[] = $result['cerrorMsg']; + continue; + } else if(! $result['fileContent']){ + $errors[] = "We could not get the original file of " . htmlentities($file) . " to do a repair."; + continue; + } + + if(preg_match('/\.\./', $file)){ + $errors[] = "An invalid file " . htmlentities($file) . " was specified for repair."; + continue; + } + $fh = fopen($localFile, 'w'); + if(! $fh){ + $err = error_get_last(); + if(preg_match('/Permission denied/i', $err['message'])){ + $errMsg = "You don't have permission to repair " . htmlentities($file) . ". You need to either fix the file manually using FTP or change the file permissions and ownership so that your web server has write access to repair the file."; + } else { + $errMsg = "We could not write to " . htmlentities($file) . ". The error was: " . $err['message']; + } + $errors[] = $errMsg; + continue; + } + flock($fh, LOCK_EX); + $bytes = fwrite($fh, $result['fileContent']); + flock($fh, LOCK_UN); + fclose($fh); + if($bytes < 1){ + $errors[] = "We could not write to " . htmlentities($file) . ". ($bytes bytes written) You may not have permission to modify files on your WordPress server."; + continue; + } + $filesWorkedOn++; + $issues->updateIssue($id, 'delete'); + } + } + $headMsg = ""; + $bodyMsg = ""; + $verb = $op == 'del' ? 'Deleted' : 'Repaired'; + $verb2 = $op == 'del' ? 'delete' : 'repair'; + if($filesWorkedOn > 0 && sizeof($errors) > 0){ + $headMsg = "$verb some files with errors"; + $bodyMsg = "$verb $filesWorkedOn files but we encountered the following errors with other files: " . implode('
', $errors); + } else if($filesWorkedOn > 0){ + $headMsg = "$verb $filesWorkedOn files successfully"; + $bodyMsg = "$verb $filesWorkedOn files successfully. No errors were encountered."; + } else if(sizeof($errors) > 0){ + $headMsg = "Could not $verb2 files"; + $bodyMsg = "We could not $verb2 any of the files you selected. We encountered the following errors: " . implode('
', $errors); + } else { + $headMsg = "Nothing done"; + $bodyMsg = "We didn't $verb2 anything and no errors were found."; + } + + return array('ok' => 1, 'bulkHeading' => $headMsg, 'bulkBody' => $bodyMsg); + } else { + return array('errorMsg' => "Invalid bulk operation selected"); + } + } + public static function ajax_deleteFile_callback(){ + $issueID = $_POST['issueID']; + $wfIssues = new wfIssues(); + $issue = $wfIssues->getIssueByID($issueID); + if(! $issue){ + return array('errorMsg' => "Could not delete file because we could not find that issue."); + } + if(! $issue['data']['file']){ + return array('errorMsg' => "Could not delete file because that issue does not appear to be a file related issue."); + } + $file = $issue['data']['file']; + $localFile = ABSPATH . '/' . preg_replace('/^[\.\/]+/', '', $file); + $localFile = realpath($localFile); + if(strpos($localFile, ABSPATH) !== 0){ + return array('errorMsg' => "An invalid file was requested for deletion."); + } + if(@unlink($localFile)){ + $wfIssues->updateIssue($issueID, 'delete'); + return array( + 'ok' => 1, + 'localFile' => $localFile, + 'file' => $file + ); + } else { + $err = error_get_last(); + return array('errorMsg' => "Could not delete file " . htmlentities($file) . ". The error was: " . htmlentities($err['message'])); + } + } + public static function ajax_restoreFile_callback(){ + $issueID = $_POST['issueID']; + $wfIssues = new wfIssues(); + $issue = $wfIssues->getIssueByID($issueID); + if(! $issue){ + return array('cerrorMsg' => "We could not find that issue in our database."); + } + $dat = $issue['data']; + $result = self::getWPFileContent($dat['file'], $dat['cType'], (isset($dat['cName']) ? $dat['cName'] : ''), (isset($dat['cVersion']) ? $dat['cVersion'] : '')); + $file = $dat['file']; + if(isset($result['cerrorMsg']) && $result['cerrorMsg']){ + return $result; + } else if(! $result['fileContent']){ + return array('cerrorMsg' => "We could not get the original file to do a repair."); + } + + if(preg_match('/\.\./', $file)){ + return array('cerrorMsg' => "An invalid file was specified for repair."); + } + $localFile = ABSPATH . '/' . preg_replace('/^[\.\/]+/', '', $file); + $fh = fopen($localFile, 'w'); + if(! $fh){ + $err = error_get_last(); + if(preg_match('/Permission denied/i', $err['message'])){ + $errMsg = "You don't have permission to repair that file. You need to either fix the file manually using FTP or change the file permissions and ownership so that your web server has write access to repair the file."; + } else { + $errMsg = "We could not write to that file. The error was: " . $err['message']; + } + return array('cerrorMsg' => $errMsg); + } + flock($fh, LOCK_EX); + $bytes = fwrite($fh, $result['fileContent']); + flock($fh, LOCK_UN); + fclose($fh); + if($bytes < 1){ + return array('cerrorMsg' => "We could not write to that file. ($bytes bytes written) You may not have permission to modify files on your WordPress server."); + } + $wfIssues->updateIssue($issueID, 'delete'); + return array( + 'ok' => 1, + 'file' => $localFile + ); + } + public static function ajax_scan_callback(){ + self::status(4, 'info', "Ajax request received to start scan."); + $err = wfScanEngine::startScan(); + if($err){ + return array('errorMsg' => htmlentities($err)); + } else { + return array("ok" => 1); + } + } + public static function startScan(){ + wfScanEngine::startScan(); + } + public static function templateRedir(){ + $wfFunc = get_query_var('_wfsf'); + + //Logging + self::doEarlyAccessLogging(); + //End logging + + + if(! ($wfFunc == 'diff' || $wfFunc == 'view' || $wfFunc == 'sysinfo' || $wfFunc == 'conntest' || $wfFunc == 'unknownFiles' || $wfFunc == 'IPTraf' || $wfFunc == 'viewActivityLog' || $wfFunc == 'testmem' || $wfFunc == 'testtime')){ + return; + } + if(! wfUtils::isAdmin()){ + return; + } + + $nonce = $_GET['nonce']; + if(! wp_verify_nonce($nonce, 'wp-ajax')){ + echo "Bad security token. It may have been more than 12 hours since you reloaded the page you came from. Try reloading the page you came from. If that doesn't work, please sign out and sign-in again."; + exit(0); + } + if($wfFunc == 'diff'){ + self::wfFunc_diff(); + } else if($wfFunc == 'view'){ + self::wfFunc_view(); + } else if($wfFunc == 'sysinfo'){ + require('sysinfo.php'); + } else if($wfFunc == 'conntest'){ + require('conntest.php'); + } else if($wfFunc == 'unknownFiles'){ + require('unknownFiles.php'); + } else if($wfFunc == 'IPTraf'){ + self::wfFunc_IPTraf(); + } else if($wfFunc == 'viewActivityLog'){ + self::wfFunc_viewActivityLog(); + } else if($wfFunc == 'testmem'){ + self::wfFunc_testmem(); + } else if($wfFunc == 'testtime'){ + self::wfFunc_testtime(); + } + exit(0); + } + public static function memtest_error_handler($errno, $errstr, $errfile, $errline){ + echo "Error received: $errstr\n"; + } + private static function wfFunc_testtime(){ + header('Content-Type: text/plain'); + @error_reporting(E_ALL); + wfUtils::iniSet('display_errors','On'); + set_error_handler('wordfence::memtest_error_handler', E_ALL); + + echo "Wordfence process duration benchmarking utility version " . WORDFENCE_VERSION . ".\n"; + echo "This utility tests how long your WordPress host allows a process to run.\n\n--Starting test--\n"; + echo "Starting timed test. This will take at least three minutes. Seconds elapsed are printed below.\nAn error after this line is not unusual. Read it and the elapsed seconds to determine max process running time on your host.\n"; + for($i = 1; $i <= 180; $i++){ + echo "\n$i:"; + for($j = 0; $j < 1000; $j++){ + echo '.'; + } + flush(); + sleep(1); + } + echo "\n--Test complete.--\n\nCongratulations, your web host allows your PHP processes to run at least 3 minutes.\n"; + exit(); + } + private static function wfFunc_testmem(){ + header('Content-Type: text/plain'); + @error_reporting(E_ALL); + wfUtils::iniSet('display_errors','On'); + set_error_handler('wordfence::memtest_error_handler', E_ALL); + + echo "Wordfence Memory benchmarking utility version " . WORDFENCE_VERSION . ".\n"; + echo "This utility tests if your WordPress host respects the maximum memory configured\nin their php.ini file, or if they are using other methods to limit your access to memory.\n\n--Starting test--\n"; + echo "Current maximum memory configured in php.ini: " . ini_get('memory_limit') . "\n"; + echo "Current memory usage: " . sprintf('%.2f', memory_get_usage(true) / (1024 * 1024)) . "M\n"; + echo "Setting max memory to 90M.\n"; + wfUtils::iniSet('memory_limit', '90M'); + echo "Starting memory benchmark. Seeing an error after this line is not unusual. Read the error carefully\nto determine how much memory your host allows. We have requested 90 megabytes.\n"; + if(memory_get_usage(true) < 1){ + echo "Exiting test because memory_get_usage() returned a negative number\n"; + } + if(memory_get_usage(true) > (1024 * 1024 * 1024)){ + echo "Exiting because current memory usage is greater than a gigabyte.\n"; + } + $arr = array(); + //256 bytes + $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ012345678900000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111222222222222222222233333333333333334444444444444444444444444555555555555666666666666666666"; + $finalUsage = '0'; + while(true){ + if(memory_get_usage(true) > 80 * 1024 * 1024){ + $finalUsage = sprintf('%.2f', (memory_get_usage(true) / 1024 / 1024)); + echo "Completing test after benchmarking up to " . $finalUsage . " megabytes.\n"; + break; + } + for($i = 0; $i < 1024; $i++){ //Roughly 1 megabyte if it's 256K and actual array size is 4x data size + $arr[] = $chars; + } + } + echo "--Test complete.--\n\nCongratulations, your web host allows you to use at least $finalUsage megabytes of memory for each PHP process hosting your WordPress site.\n"; + exit(); + } + public static function wfLogPerfHeader(){ + $ajaxURL = admin_url('admin-ajax.php'); + $ajaxURL = preg_replace('/^https?:/i', '', $ajaxURL); + $scriptURL = wfUtils::getBaseURL() . '/js/perf.js?v=' . WORDFENCE_VERSION; + $scriptURL = preg_replace('/^https?:/i', '', $scriptURL); + #Load as external script async so we don't slow page down. + echo << +window['wordfenceAjaxURL'] = "$ajaxURL"; +(function(url){ +if(/(?:Chrome\/26\.0\.1410\.63 Safari\/537\.31|WordfenceTestMonBot)/.test(navigator.userAgent)){ return; } +var wfscr = document.createElement('script'); +wfscr.type = 'text/javascript'; +wfscr.async = true; +wfscr.src = url; +(document.getElementsByTagName('head')[0]||document.getElementsByTagName('body')[0]).appendChild(wfscr); +})('$scriptURL'); + +EOL; + } + public static function wfLogHumanHeader(){ + $URL = admin_url('admin-ajax.php?action=wordfence_logHuman&hid=' . wfUtils::encrypt(self::$hitID)); + $URL = preg_replace('/^https?:/i', '', $URL); + #Load as external script async so we don't slow page down. + echo << +(function(url){ +if(/(?:Chrome\/26\.0\.1410\.63 Safari\/537\.31|WordfenceTestMonBot)/.test(navigator.userAgent)){ return; } +var wfscr = document.createElement('script'); +wfscr.type = 'text/javascript'; +wfscr.async = true; +wfscr.src = url + '&r=' + Math.random(); +(document.getElementsByTagName('head')[0]||document.getElementsByTagName('body')[0]).appendChild(wfscr); +})('$URL'); + +EOL; + } + public static function shutdownAction(){ + } + public static function wfFunc_viewActivityLog(){ + require('viewFullActivityLog.php'); + exit(0); + } + public static function wfFunc_IPTraf(){ + $IP = $_GET['IP']; + if(! preg_match('/^\d+\.\d+\.\d+\.\d+$/', $IP)){ + echo "An invalid IP address was specified."; + exit(0); + } + $reverseLookup = wfUtils::reverseLookup($IP); + $wfLog = new wfLog(wfConfig::get('apiKey'), wfUtils::getWPVersion()); + $results = array_merge( + $wfLog->getHits('hits', 'hit', 0, 10000, $IP), + $wfLog->getHits('hits', '404', 0, 10000, $IP) + ); + usort($results, 'wordfence::iptrafsort'); + for($i = 0; $i < sizeof($results); $i++){ + if(array_key_exists($i + 1, $results)){ + $results[$i]['timeSinceLastHit'] = sprintf('%.4f', $results[$i]['ctime'] - $results[$i + 1]['ctime']); + } else { + $results[$i]['timeSinceLastHit'] = ''; + } + } + require('IPTraf.php'); + exit(0); + } + public static function iptrafsort($b, $a){ + if($a['ctime'] == $b['ctime']){ return 0; } + return ($a['ctime'] < $b['ctime']) ? -1 : 1; + } + public static function wfFunc_view(){ + $localFile = ABSPATH . '/' . preg_replace('/^(?:\.\.|[\/]+)/', '', $_GET['file']); + if(strpos($localFile, '..') !== false){ + echo "Invalid file requested. (Relative paths not allowed)"; + exit(); + } + if(preg_match('/[\'\"<>\!\{\}\(\)\&\@\%\$\*\+\[\]\?]+/', $localFile)){ + echo "File contains illegal characters."; + exit(); + } + $lang = false; + $cont = @file_get_contents($localFile); + $isEmpty = false; + if(! $cont){ + if(file_exists($localFile) && filesize($localFile) === 0){ //There's a remote possibility that very large files on 32 bit systems will return 0 here, but it's about 1 in 2 billion + $isEmpty = true; + } else { + $err = error_get_last(); + echo "We could not open the requested file for reading. The error was: " . $err['message']; + exit(0); + } + } + $fileMTime = @filemtime($localFile); + $fileMTime = date('l jS \of F Y h:i:s A', $fileMTime); + try { + if(wfUtils::fileOver2Gigs($localFile)){ + $fileSize = "Greater than 2 Gigs"; + } else { + $fileSize = @filesize($localFile); //Checked if over 2 gigs above + $fileSize = number_format($fileSize, 0, '', ',') . ' bytes'; + } + } catch(Exception $e){ $fileSize = 'Unknown file size.'; } + + require 'wfViewResult.php'; + exit(0); + } + public static function wfFunc_diff(){ + if(preg_match('/[\'\"<>\!\{\}\(\)\&\@\%\$\*\+\[\]\?]+/', $_GET['file'])){ + echo "File contains illegal characters."; + exit(); + } + + $result = self::getWPFileContent($_GET['file'], $_GET['cType'], $_GET['cName'], $_GET['cVersion']); + if( isset( $result['errorMsg'] ) && $result['errorMsg']){ + echo htmlentities($result['errorMsg']); + exit(0); + } else if(! $result['fileContent']){ + echo "We could not get the contents of the original file to do a comparison."; + exit(0); + } + + $localFile = realpath(ABSPATH . '/' . preg_replace('/^[\.\/]+/', '', $_GET['file'])); + $localContents = file_get_contents($localFile); + if($localContents == $result['fileContent']){ + $diffResult = ''; + } else { + $diff = new Diff( + //Treat DOS and Unix files the same + preg_split("/(?:\r\n|\n)/", $result['fileContent']), + preg_split("/(?:\r\n|\n)/", $localContents), + array() + ); + $renderer = new Diff_Renderer_Html_SideBySide; + $diffResult = $diff->Render($renderer); + } + require 'diffResult.php'; + exit(0); + } + public static function initAction(){ + global $wp; + if (!is_object($wp)) return; //Suggested fix for compatability with "Portable phpmyadmin" + + $wp->add_query_var('_wfsf'); + if(wfConfig::liveTrafficEnabled() && (! wfConfig::get('disableCookies', false)) ){ + self::setCookie(); + } + } + private static function setCookie(){ + $cookieName = 'wfvt_' . crc32(site_url()); + $c = isset($_COOKIE[$cookieName]) ? isset($_COOKIE[$cookieName]) : false; + if($c){ + self::$newVisit = false; + } else { + self::$newVisit = true; + } + wfUtils::setcookie($cookieName, uniqid(), time() + 1800, '/', null, null, true); + } + public static function admin_init(){ + if(! wfUtils::isAdmin()){ return; } + foreach(array('activate', 'scan', 'updateAlertEmail', 'sendActivityLog', 'restoreFile', 'bulkOperation', 'deleteFile', 'removeExclusion', 'activityLogUpdate', 'ticker', 'loadIssues', 'updateIssueStatus', 'deleteIssue', 'updateAllIssues', 'reverseLookup', 'unlockOutIP', 'loadBlockRanges', 'unblockRange', 'blockIPUARange', 'whois', 'unblockIP', 'blockIP', 'permBlockIP', 'loadStaticPanel', 'saveConfig', 'downloadHtaccess', 'checkFalconHtaccess', 'updateConfig', 'saveCacheConfig', 'removeFromCache', 'autoUpdateChoice', 'saveCacheOptions', 'clearPageCache', 'getCacheStats', 'clearAllBlocked', 'killScan', 'saveCountryBlocking', 'saveScanSchedule', 'tourClosed', 'startTourAgain', 'downgradeLicense', 'addTwoFactor', 'twoFacActivate', 'twoFacDel', 'loadTwoFactor', 'loadAvgSitePerf', 'addCacheExclusion', 'removeCacheExclusion', 'loadCacheExclusions') as $func){ + add_action('wp_ajax_wordfence_' . $func, 'wordfence::ajaxReceiver'); + } + + if(isset($_GET['page']) && preg_match('/^Wordfence/', @$_GET['page']) ){ + wp_enqueue_style('wp-pointer'); + wp_enqueue_script('wp-pointer'); + wp_enqueue_style('wordfence-main-style', wfUtils::getBaseURL() . 'css/main.css', '', WORDFENCE_VERSION); + wp_enqueue_style('wordfence-colorbox-style', wfUtils::getBaseURL() . 'css/colorbox.css', '', WORDFENCE_VERSION); + wp_enqueue_style('wordfence-dttable-style', wfUtils::getBaseURL() . 'css/dt_table.css', '', WORDFENCE_VERSION); + + + wp_enqueue_script('json2'); + wp_enqueue_script('jquery.wftmpl', wfUtils::getBaseURL() . 'js/jquery.tmpl.min.js', array('jquery'), WORDFENCE_VERSION); + wp_enqueue_script('jquery.wfcolorbox', wfUtils::getBaseURL() . 'js/jquery.colorbox-min.js', array('jquery'), WORDFENCE_VERSION); + wp_enqueue_script('jquery.wfdataTables', wfUtils::getBaseURL() . 'js/jquery.dataTables.min.js', array('jquery'), WORDFENCE_VERSION); + //wp_enqueue_script('jquery.tools', wfUtils::getBaseURL() . 'js/jquery.tools.min.js', array('jquery')); + wp_enqueue_script('wordfenceAdminjs', wfUtils::getBaseURL() . 'js/admin.js', array('jquery'), WORDFENCE_VERSION); + wp_enqueue_script('wordfenceAdminExtjs', wfUtils::getBaseURL() . 'js/tourTip.js', array('jquery'), WORDFENCE_VERSION); + self::setupAdminVars(); + } else { + wp_enqueue_style('wp-pointer'); + wp_enqueue_script('wp-pointer'); + wp_enqueue_script('wordfenceAdminjs', wfUtils::getBaseURL() . 'js/tourTip.js', array('jquery'), WORDFENCE_VERSION); + self::setupAdminVars(); + } + + } + private static function setupAdminVars(){ + $updateInt = wfConfig::get('actUpdateInterval', 2); + if(! preg_match('/^\d+$/', $updateInt)){ + $updateInt = 2; + } + $updateInt *= 1000; + + wp_localize_script('wordfenceAdminjs', 'WordfenceAdminVars', array( + 'ajaxURL' => admin_url('admin-ajax.php'), + 'firstNonce' => wp_create_nonce('wp-ajax'), + 'siteBaseURL' => wfUtils::getSiteBaseURL(), + 'debugOn' => wfConfig::get('debugOn', 0), + 'actUpdateInterval' => $updateInt, + 'tourClosed' => wfConfig::get('tourClosed', 0), + 'cacheType' => wfConfig::get('cacheType'), + 'liveTrafficEnabled' => wfConfig::liveTrafficEnabled() + )); + } + public static function activation_warning(){ + $activationError = get_option('wf_plugin_act_error', ''); + if(strlen($activationError) > 400){ + $activationError = substr($activationError, 0, 400) . '...[output truncated]'; + } + if($activationError){ + echo '

Wordfence generated an error on activation. The output we received during activation was: ' . htmlspecialchars($activationError) . '

'; + } + delete_option('wf_plugin_act_error'); + } + public static function noKeyError(){ + echo '

Wordfence could not get an API key from the Wordfence scanning servers when it activated. You can try to fix this by going to the Wordfence "options" page and hitting "Save Changes". This will cause Wordfence to retry fetching an API key for you. If you keep seeing this error it usually means your WordPress server can\'t connect to our scanning servers. You can try asking your WordPress host to allow your WordPress server to connect to noc1.wordfence.com.

'; + } + public static function adminEmailWarning(){ + echo '

You have not set an administrator email address to receive alerts for Wordfence. Please click here to go to the Wordfence Options Page and set an email address where you will receive security alerts from this site.

'; + } + public static function autoUpdateNotice(){ + echo '

Do you want Wordfence to stay up-to-date automatically?   Yes, enable auto-update.  |  No thanks.

'; + } + public static function admin_menus(){ + if(! wfUtils::isAdmin()){ return; } + $warningAdded = false; + if(get_option('wf_plugin_act_error', false)){ + if(wfUtils::isAdminPageMU()){ + add_action('network_admin_notices', 'wordfence::activation_warning'); + } else { + add_action('admin_notices', 'wordfence::activation_warning'); + } + $warningAdded = true; + } + if(! wfConfig::get('apiKey')){ + if(wfUtils::isAdminPageMU()){ + add_action('network_admin_notices', 'wordfence::noKeyError'); + } else { + add_action('admin_notices', 'wordfence::noKeyError'); + } + $warningAdded = true; + } + if(! $warningAdded){ + if(wfConfig::get('tourClosed') == '1' && (! wfConfig::get('autoUpdate')) && (! wfConfig::get('autoUpdateChoice'))){ + $warningAdded = true; + if(wfUtils::isAdminPageMU()){ + add_action('network_admin_notices', 'wordfence::autoUpdateNotice'); + } else { + add_action('admin_notices', 'wordfence::autoUpdateNotice'); + } + } + } + if(! $warningAdded){ + if(wfConfig::get('tourClosed') == '1' && (! wfConfig::get('alertEmails')) ){ + $warningAdded = true; + if(wfUtils::isAdminPageMU()){ + add_action('network_admin_notices', 'wordfence::adminEmailWarning'); + } else { + add_action('admin_notices', 'wordfence::adminEmailWarning'); + } + } + } + + add_submenu_page("Wordfence", "Scan", "Scan", "activate_plugins", "Wordfence", 'wordfence::menu_scan'); + add_menu_page('Wordfence', 'Wordfence', 'activate_plugins', 'Wordfence', 'wordfence::menu_scan', wfUtils::getBaseURL() . 'images/wordfence-logo-16x16.png'); + add_submenu_page("Wordfence", "Live Traffic", "Live Traffic", "activate_plugins", "WordfenceActivity", 'wordfence::menu_activity'); + /* add_submenu_page('Wordfence', 'Site Performance', 'Site Performance', 'activate_plugins', 'WordfenceSitePerfStats', 'wordfence::menu_sitePerfStats'); */ + add_submenu_page('Wordfence', 'Performance Setup', 'Performance Setup', 'activate_plugins', 'WordfenceSitePerf', 'wordfence::menu_sitePerf'); + add_submenu_page('Wordfence', 'Blocked IPs', 'Blocked IPs', 'activate_plugins', 'WordfenceBlockedIPs', 'wordfence::menu_blockedIPs'); + add_submenu_page("Wordfence", "Cellphone Sign-in", "Cellphone Sign-in", "activate_plugins", "WordfenceTwoFactor", 'wordfence::menu_twoFactor'); + add_submenu_page("Wordfence", "Country Blocking", "Country Blocking", "activate_plugins", "WordfenceCountryBlocking", 'wordfence::menu_countryBlocking'); + add_submenu_page("Wordfence", "Scan Schedule", "Scan Schedule", "activate_plugins", "WordfenceScanSchedule", 'wordfence::menu_scanSchedule'); + add_submenu_page("Wordfence", "Whois Lookup", "Whois Lookup", "activate_plugins", "WordfenceWhois", 'wordfence::menu_whois'); + add_submenu_page("Wordfence", "Advanced Blocking", "Advanced Blocking", "activate_plugins", "WordfenceRangeBlocking", 'wordfence::menu_rangeBlocking'); + add_submenu_page("Wordfence", "Options", "Options", "activate_plugins", "WordfenceSecOpt", 'wordfence::menu_options'); + } + public static function menu_options(){ + require 'menu_options.php'; + } + public static function menu_sitePerf(){ + require 'menu_sitePerf.php'; + } + public static function menu_sitePerfStats(){ + require 'menu_sitePerfStats.php'; + } + public static function menu_blockedIPs(){ + require 'menu_blockedIPs.php'; + } + public static function menu_scanSchedule(){ + require 'menu_scanSchedule.php'; + } + public static function menu_twoFactor(){ + require 'menu_twoFactor.php'; + } + public static function menu_countryBlocking(){ + require 'menu_countryBlocking.php'; + } + public static function menu_whois(){ + require 'menu_whois.php'; + } + + public static function menu_rangeBlocking(){ + require 'menu_rangeBlocking.php'; + } + public static function liveTrafficW3TCWarning(){ + echo self::cachingWarning("W3 Total Cache"); + } + public static function liveTrafficSuperCacheWarning(){ + echo self::cachingWarning("WP Super Cache"); + } + public static function cachingWarning($plugin){ + return '

The Wordfence Live Traffic feature has been disabled because you have ' . $plugin . ' active which is not compatible with Wordfence Live Traffic. If you want to reenable Wordfence Live Traffic, you need to deactivate ' . $plugin . ' and then go to the Wordfence options page and reenable Live Traffic there. Wordfence does work with ' . $plugin . ', however Live Traffic will be disabled and the Wordfence firewall will also count less hits per visitor because of the ' . $plugin . ' caching function. All other functions should work correctly.

'; + } + public static function menu_activity(){ + require 'menu_activity.php'; + } + public static function menu_scan(){ + require 'menu_scan.php'; + } + public static function status($level /* 1 has highest visibility */, $type /* info|error */, $msg){ + if($level > 3 && $level < 10 && (! self::isDebugOn())){ //level 10 and higher is for summary messages + return false; + } + if($type != 'info' && $type != 'error'){ error_log("Invalid status type: $type"); return; } + if(self::$printStatus){ + echo "STATUS: $level : $type : $msg\n"; + } else { + self::getLog()->addStatus($level, $type, $msg); + } + } + public static function profileUpdateAction($userID, $newDat = false){ + if(! $newDat){ return; } + if(wfConfig::get('other_pwStrengthOnUpdate')){ + $oldDat = get_userdata($userID); + if($newDat->user_pass != $oldDat->user_pass){ + $wf = new wfScanEngine(); + $wf->scanUserPassword($userID); + $wf->emailNewIssues(); + } + } + } + public static function genFilter($gen, $type){ + if(wfConfig::get('other_hideWPVersion')){ + return ''; + } else { + return $gen; + } + } + public static function pushCommentSpamIP($m){ + if(wfUtils::isValidIP($m[1]) && strpos($m[1], '127.0.0') !== 0 ){ + self::$commentSpamItems[] = trim($m[1]); + } + } + public static function pushCommentSpamHost($m){ + self::$commentSpamItems[] = trim($m[1]); + } + public static function preCommentApprovedFilter($approved, $cData){ + if( $approved == 1 && (! is_user_logged_in()) && wfConfig::get('other_noAnonMemberComments') ){ + $user = get_user_by('email', trim($cData['comment_author_email'])); + if($user){ + wfConfig::inc('totalSpamStopped'); + return 0; //hold for moderation if the user is not signed in but used a members email + } + } + + if(($approved == 1 || $approved == 0) && wfConfig::get('other_scanComments')){ + $wf = new wfScanEngine(); + try { + if($wf->isBadComment($cData['comment_author'], $cData['comment_author_email'], $cData['comment_author_url'], $cData['comment_author_IP'], $cData['comment_content'])){ + wfConfig::inc('totalSpamStopped'); + return 'spam'; + } + } catch(Exception $e){ + //This will most likely be an API exception because we can't contact the API, so we ignore it and let the normal comment mechanisms run. + } + } + if(wfConfig::get('isPaid') && ($approved == 1 || $approved == 0) && wfConfig::get('advancedCommentScanning')){ + $IPs = array(); + $hosts = array(); + self::$commentSpamItems = array(); + preg_replace_callback('/(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/', 'wordfence::pushCommentSpamIP', $cData['comment_content']); + $IPs = self::$commentSpamItems; + self::$commentSpamItems = array(); + preg_replace_callback('/https?:\/\/([a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+[a-zA-Z0-9])/i', 'wordfence::pushCommentSpamHost', $cData['comment_content']); + $hosts = self::$commentSpamItems; + self::$commentSpamItems = array(); + try { + $api = new wfAPI(wfConfig::get('apiKey'), wfUtils::getWPVersion()); + $res = $api->call('advanced_comment_scan', array(), array( + 'author' => $cData['comment_author'], + 'email' => $cData['comment_author_email'], + 'URL' => $cData['comment_author_url'], + 'commentIP' => $cData['comment_author_IP'], + 'wfIP' => wfUtils::getIP(), + 'hosts' => (sizeof($hosts) > 0 ? implode(',', $hosts) : ''), + 'IPs' => (sizeof($IPs) > 0 ? implode(',', $IPs) : '') + )); + if(is_array($res) && isset($res['spam']) && $res['spam'] == 1){ + wfConfig::inc('totalSpamStopped'); + return 'spam'; + } + } catch(Exception $e){ + //API server is probably down + } + } + wfConfig::inc('totalCommentsFiltered'); + return $approved; + } + public static function getMyHomeURL(){ + return admin_url('admin.php?page=Wordfence', 'http'); + } + public static function getMyOptionsURL(){ + return admin_url('admin.php?page=WordfenceSecOpt', 'http'); + } + + public static function alert($subject, $alertMsg, $IP){ + wfConfig::inc('totalAlertsSent'); + $emails = wfConfig::getAlertEmails(); + if(sizeof($emails) < 1){ return; } + + $IPMsg = ""; + if($IP){ + $IPMsg = "User IP: $IP\n"; + $reverse = wfUtils::reverseLookup($IP); + if($reverse){ + $IPMsg .= "User hostname: " . $reverse . "\n"; + } + $userLoc = wfUtils::getIPGeo($IP); + if($userLoc){ + $IPMsg .= "User location: "; + if($userLoc['city']){ + $IPMsg .= $userLoc['city'] . ', '; + } + $IPMsg .= $userLoc['countryName'] . "\n"; + } + } + $content = wfUtils::tmpl('email_genericAlert.php', array( + 'isPaid' => wfConfig::get('isPaid'), + 'subject' => $subject, + 'blogName' => get_bloginfo('name', 'raw'), + 'adminURL' => get_admin_url(), + 'alertMsg' => $alertMsg, + 'IPMsg' => $IPMsg, + 'date' => wfUtils::localHumanDate(), + 'myHomeURL' => self::getMyHomeURL(), + 'myOptionsURL' => self::getMyOptionsURL() + )); + $shortSiteURL = preg_replace('/^https?:\/\//i', '', site_url()); + $subject = "[Wordfence Alert] $shortSiteURL " . $subject; + + $sendMax = wfConfig::get('alert_maxHourly', 0); + if($sendMax > 0){ + $sendArr = wfConfig::get_ser('alertFreqTrack', array()); + if(! is_array($sendArr)){ + $sendArr = array(); + } + $minuteTime = floor(time() / 60); + $totalSent = 0; + for($i = $minuteTime; $i > $minuteTime - 60; $i--){ + $totalSent += isset($sendArr[$i]) ? $sendArr[$i] : 0; + } + if($totalSent >= $sendMax){ + return; + } + $sendArr[$minuteTime] = isset($sendArr[$minuteTime]) ? $sendArr[$minuteTime] + 1 : 1; + wfConfig::set_ser('alertFreqTrack', $sendArr); + } + //Prevent duplicate emails within 1 hour: + $hash = md5(implode(',', $emails) . ':' . $subject . ':' . $alertMsg . ':' . $IP); //Hex + $lastHash = wfConfig::get('lastEmailHash', false); + if($lastHash){ + $lastHashDat = explode(':', $lastHash); //[time, hash] + if(time() - $lastHashDat[0] < 3600){ + if($lastHashDat[1] == $hash){ + return; //Don't send because this email is identical to the previous email which was sent within the last hour. + } + } + } + wfConfig::set('lastEmailHash', time() . ':' . $hash); + wp_mail(implode(',', $emails), $subject, $content); + } + private static function getLog(){ + if(! self::$wfLog){ + $wfLog = new wfLog(wfConfig::get('apiKey'), wfUtils::getWPVersion()); + self::$wfLog = $wfLog; + } + return self::$wfLog; + } + public static function statusPrep(){ + wfConfig::set_ser('wfStatusStartMsgs', array()); + wordfence::status(10, 'info', "SUM_PREP:Preparing a new scan."); + } + //In the following functions statusStartMsgs is serialized into the DB so it persists between forks + public static function statusStart($msg){ + $statusStartMsgs = wfConfig::get_ser('wfStatusStartMsgs', array()); + $statusStartMsgs[] = $msg; + wfConfig::set_ser('wfStatusStartMsgs', $statusStartMsgs); + self::status(10, 'info', 'SUM_START:' . $msg); + return sizeof($statusStartMsgs) - 1; + } + public static function statusEnd($idx, $haveIssues, $successFailed = false){ + $statusStartMsgs = wfConfig::get_ser('wfStatusStartMsgs', array()); + if($haveIssues){ + if($successFailed){ + self::status(10, 'info', 'SUM_ENDFAILED:' . $statusStartMsgs[$idx]); + } else { + self::status(10, 'info', 'SUM_ENDBAD:' . $statusStartMsgs[$idx]); + } + } else { + if($successFailed){ + self::status(10, 'info', 'SUM_ENDSUCCESS:' . $statusStartMsgs[$idx]); + } else { + self::status(10, 'info', 'SUM_ENDOK:' . $statusStartMsgs[$idx]); + } + } + $statusStartMsgs[$idx] = ''; + wfConfig::set_ser('wfStatusStartMsgs', $statusStartMsgs); + } + public static function statusEndErr(){ + $statusStartMsgs = wfConfig::get_ser('wfStatusStartMsgs', array()); + for($i = 0; $i < sizeof($statusStartMsgs); $i++){ + if(empty($statusStartMsgs[$i]) === false){ + self::status(10, 'info', 'SUM_ENDERR:' . $statusStartMsgs[$i]); + $statusStartMsgs[$i] = ''; + } + } + } + public static function statusDisabled($msg){ + self::status(10, 'info', "SUM_DISABLED:" . $msg); + } + public static function statusPaidOnly($msg){ + self::status(10, 'info', "SUM_PAIDONLY:" . $msg); + } + public static function wfSchemaExists(){ + $db = new wfDB(); + global $wpdb; $prefix = $wpdb->base_prefix; + $exists = $db->querySingle("show tables like '$prefix"."wfConfig'"); + return $exists ? true : false; + } + public static function isDebugOn(){ + if(is_null(self::$debugOn)){ + if(wfConfig::get('debugOn')){ + self::$debugOn = true; + } else { + self::$debugOn = false; + } + } + return self::$debugOn; + } + //PUBLIC API + public static function doNotCache(){ //Call this to prevent Wordfence from caching the current page. + wfCache::doNotCache(); + } +} +?> diff --git a/wp-content/plugins/wordfence/lib/wordfenceConstants.php b/wp-content/plugins/wordfence/lib/wordfenceConstants.php new file mode 100644 index 0000000..466673a --- /dev/null +++ b/wp-content/plugins/wordfence/lib/wordfenceConstants.php @@ -0,0 +1,11 @@ + diff --git a/wp-content/plugins/wordfence/lib/wordfenceHash.php b/wp-content/plugins/wordfence/lib/wordfenceHash.php new file mode 100644 index 0000000..ce5c2d7 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/wordfenceHash.php @@ -0,0 +1,371 @@ +striplen = $striplen; + $this->path = $path; + $this->only = $only; + + $this->startTime = microtime(true); + + if(wfConfig::get('scansEnabled_core')){ + $this->coreEnabled = true; + } + if(wfConfig::get('scansEnabled_plugins')){ + $this->pluginsEnabled = true; + } + if(wfConfig::get('scansEnabled_themes')){ + $this->themesEnabled = true; + } + if(wfConfig::get('scansEnabled_malware')){ + $this->malwareEnabled = true; + } + $this->db = new wfDB(); + + //Doing a delete for now. Later we can optimize this to only scan modified files. + //$this->db->queryWrite("update " . $this->db->prefix() . "wfFileMods set oldMD5 = newMD5"); + $this->db->queryWrite("delete from " . $this->db->prefix() . "wfFileMods"); + $fetchCoreHashesStatus = wordfence::statusStart("Fetching core, theme and plugin file signatures from Wordfence"); + $dataArr = $engine->api->binCall('get_known_files', json_encode(array( + 'plugins' => $plugins, + 'themes' => $themes + )) ); + if($dataArr['code'] != 200){ + wordfence::statusEndErr(); + throw new Exception("Got error response from Wordfence servers: " . $dataArr['code']); + } + $this->knownFiles = @json_decode($dataArr['data'], true); + if(! is_array($this->knownFiles)){ + wordfence::statusEndErr(); + throw new Exception("Invalid response from Wordfence servers."); + } + wordfence::statusEnd($fetchCoreHashesStatus, false, true); + + if($this->malwareEnabled){ + $malwarePrefixStatus = wordfence::statusStart("Fetching list of known malware files from Wordfence"); + $malwareData = $engine->api->getStaticURL('/malwarePrefixes.bin'); + if(! $malwareData){ + wordfence::statusEndErr(); + throw new Exception("Could not fetch malware signatures from Wordfence servers."); + } + if(strlen($malwareData) % 4 != 0){ + wordfence::statusEndErr(); + throw new Exception("Malware data received from Wordfence servers was not valid."); + } + $this->malwareData = array(); + for($i = 0; $i < strlen($malwareData); $i += 4){ + $this->malwareData[substr($malwareData, $i, 4)] = '1'; + } + wordfence::statusEnd($malwarePrefixStatus, false, true); + } + + if($this->path[strlen($this->path) - 1] != '/'){ + $this->path .= '/'; + } + if(! is_readable($path)){ + throw new Exception("Could not read directory " . $this->path . " to do scan."); + exit(); + } + $this->haveIssues = array( + 'core' => false, + 'themes' => false, + 'plugins' => false, + 'malware' => false + ); + if($this->coreEnabled){ $this->status['core'] = wordfence::statusStart("Comparing core WordPress files against originals in repository"); } else { wordfence::statusDisabled("Skipping core scan"); } + if($this->themesEnabled){ $this->status['themes'] = wordfence::statusStart("Comparing open source themes against WordPress.org originals"); } else { wordfence::statusDisabled("Skipping theme scan"); } + if($this->pluginsEnabled){ $this->status['plugins'] = wordfence::statusStart("Comparing plugins against WordPress.org originals"); } else { wordfence::statusDisabled("Skipping plugin scan"); } + if($this->malwareEnabled){ $this->status['malware'] = wordfence::statusStart("Scanning for known malware files"); } else { wordfence::statusDisabled("Skipping malware scan"); } + } + public function __sleep(){ + return array('striplen', 'totalFiles', 'totalDirs', 'totalData', 'linesOfPHP', 'linesOfJCH', 'stoppedOnFile', 'coreEnabled', 'pluginsEnabled', 'themesEnabled', 'malwareEnabled', 'knownFiles', 'malwareData', 'haveIssues', 'status', 'possibleMalware', 'path', 'only', 'totalForks'); + } + public function __wakeup(){ + $this->db = new wfDB(); + $this->startTime = microtime(true); + $this->totalForks++; + } + public function run($engine){ //base path and 'only' is a list of files and dirs in the bast that are the only ones that should be processed. Everything else in base is ignored. If only is empty then everything is processed. + if($this->totalForks > 1000){ + throw new Exception("Wordfence file scanner detected a possible infinite loop. Exiting on file: " . $this->stoppedOnFile); + } + $this->engine = $engine; + $files = scandir($this->path); + foreach($files as $file){ + if($file == '.' || $file == '..'){ continue; } + if(sizeof($this->only) > 0 && (! in_array($file, $this->only))){ + continue; + } + $file = $this->path . $file; + wordfence::status(4, 'info', "Hashing item in base dir: $file"); + $this->_dirHash($file); + } + wordfence::status(2, 'info', "Analyzed " . $this->totalFiles . " files containing " . wfUtils::formatBytes($this->totalData) . " of data."); + if($this->coreEnabled){ wordfence::statusEnd($this->status['core'], $this->haveIssues['core']); } + if($this->themesEnabled){ wordfence::statusEnd($this->status['themes'], $this->haveIssues['themes']); } + if($this->pluginsEnabled){ wordfence::statusEnd($this->status['plugins'], $this->haveIssues['plugins']); } + if(sizeof($this->possibleMalware) > 0){ + $malwareResp = $engine->api->binCall('check_possible_malware', json_encode($this->possibleMalware)); + if($malwareResp['code'] != 200){ + wordfence::statusEndErr(); + throw new Exception("Invalid response from Wordfence API during check_possible_malware"); + } + $malwareList = json_decode($malwareResp['data'], true); + if(is_array($malwareList) && sizeof($malwareList) > 0){ + for($i = 0; $i < sizeof($malwareList); $i++){ + $file = $malwareList[$i][0]; + $md5 = $malwareList[$i][1]; + $name = $malwareList[$i][2]; + $this->haveIssues['malware'] = true; + $this->engine->addIssue( + 'file', + 1, + $this->path . $file, + $md5, + 'This file is suspected malware: ' . $file, + "This file's signature matches a known malware file. The title of the malware is '" . $name . "'. Immediately inspect this file using the 'View' option below and consider deleting it from your server.", + array( + 'file' => $file, + 'cType' => 'unknown', + 'canDiff' => false, + 'canFix' => false, + 'canDelete' => true + ) + ); + } + } + } + if($this->malwareEnabled){ wordfence::statusEnd($this->status['malware'], $this->haveIssues['malware']); } + } + private function _dirHash($path){ + if(substr($path, -3, 3) == '/..' || substr($path, -2, 2) == '/.'){ + return; + } + if(! is_readable($path)){ return; } //Applies to files and dirs + if(is_dir($path)){ + $this->totalDirs++; + if($path[strlen($path) - 1] != '/'){ + $path .= '/'; + } + $cont = scandir($path); + for($i = 0; $i < sizeof($cont); $i++){ + if($cont[$i] == '.' || $cont[$i] == '..'){ continue; } + $file = $path . $cont[$i]; + if(is_file($file)){ + $this->processFile($file); + } else if(is_dir($file)) { + $this->_dirHash($file); + } + } + } else { + if(is_file($path)){ + $this->processFile($path); + } + } + } + private function processFile($realFile){ + $file = substr($realFile, $this->striplen); + if( (! $this->stoppedOnFile) && microtime(true) - $this->startTime > $this->engine->maxExecTime){ //max X seconds but don't allow fork if we're looking for the file we stopped on. Search mode is VERY fast. + $this->stoppedOnFile = $file; + wordfence::status(4, 'info', "Calling fork() from wordfenceHash::processFile with maxExecTime: " . $this->engine->maxExecTime); + $this->engine->fork(); + //exits + } + + //Put this after the fork, that way we will at least scan one more file after we fork if it takes us more than 10 seconds to search for the stoppedOnFile + if($this->stoppedOnFile && $file != $this->stoppedOnFile){ + return; + } else if($this->stoppedOnFile && $file == $this->stoppedOnFile){ + $this->stoppedOnFile = false; //Continue scanning + } + + if(wfUtils::fileTooBig($realFile)){ + wordfence::status(4, 'info', "Skipping file larger than max size: $realFile"); + return; + } + if(function_exists('memory_get_usage')){ + wordfence::status(4, 'info', "Scanning: $realFile (Mem:" . sprintf('%.1f', memory_get_usage(true) / (1024 * 1024)) . "M)"); + } else { + wordfence::status(4, 'info', "Scanning: $realFile"); + } + $wfHash = self::wfHash($realFile); + if($wfHash){ + $md5 = strtoupper($wfHash[0]); + $shac = strtoupper($wfHash[1]); + $knownFile = 0; + if($this->malwareEnabled && $this->isMalwarePrefix($md5)){ + $this->possibleMalware[] = array($file, $md5); + } + if(isset($this->knownFiles['core'][$file])){ + if(strtoupper($this->knownFiles['core'][$file]) == $shac){ + $knownFile = 1; + } else { + if($this->coreEnabled){ + $localFile = ABSPATH . '/' . preg_replace('/^[\.\/]+/', '', $file); + $fileContents = @file_get_contents($localFile); + if($fileContents && (! preg_match('/<\?' . 'php[\r\n\s\t]*\/\/[\r\n\s\t]*Silence is golden\.[\r\n\s\t]*(?:\?>)?[\r\n\s\t]*$/s', $fileContents))){ //isSafeFile($shac)){ + + $this->haveIssues['core'] = true; + $this->engine->addIssue( + 'file', + 1, + 'coreModified' . $file . $md5, + 'coreModified' . $file, + 'WordPress core file modified: ' . $file, + "This WordPress core file has been modified and differs from the original file distributed with this version of WordPress.", + array( + 'file' => $file, + 'cType' => 'core', + 'canDiff' => true, + 'canFix' => true, + 'canDelete' => false + ) + ); + } + } + } + } + } else if(isset($this->knownFiles['plugins'][$file])){ + if(in_array($shac, $this->knownFiles['plugins'][$file])){ + $knownFile = 1; + } else { + if($this->pluginsEnabled){ + if(! $this->isSafeFile($shac)){ + $itemName = $this->knownFiles['plugins'][$file][0]; + $itemVersion = $this->knownFiles['plugins'][$file][1]; + $cKey = $this->knownFiles['plugins'][$file][2]; + $this->haveIssues['plugins'] = true; + $this->engine->addIssue( + 'file', + 2, + 'modifiedplugin' . $file . $md5, + 'modifiedplugin' . $file, + 'Modified plugin file: ' . $file, + "This file belongs to plugin \"$itemName\" version \"$itemVersion\" and has been modified from the file that is distributed by WordPress.org for this version. Please use the link to see how the file has changed. If you have modified this file yourself, you can safely ignore this warning. If you see a lot of changed files in a plugin that have been made by the author, then try uninstalling and reinstalling the plugin to force an upgrade. Doing this is a workaround for plugin authors who don't manage their code correctly. [See our FAQ on www.wordfence.com for more info]", + array( + 'file' => $file, + 'cType' => 'plugin', + 'canDiff' => true, + 'canFix' => true, + 'canDelete' => false, + 'cName' => $itemName, + 'cVersion' => $itemVersion, + 'cKey' => $cKey + ) + ); + } + } + + } + } else if(isset($this->knownFiles['themes'][$file])){ + if(in_array($shac, $this->knownFiles['themes'][$file])){ + $knownFile = 1; + } else { + if($this->themesEnabled){ + if(! $this->isSafeFile($shac)){ + $itemName = $this->knownFiles['themes'][$file][0]; + $itemVersion = $this->knownFiles['themes'][$file][1]; + $cKey = $this->knownFiles['themes'][$file][2]; + $this->haveIssues['themes'] = true; + $this->engine->addIssue( + 'file', + 2, + 'modifiedtheme' . $file . $md5, + 'modifiedtheme' . $file, + 'Modified theme file: ' . $file, + "This file belongs to theme \"$itemName\" version \"$itemVersion\" and has been modified from the original distribution. It is common for site owners to modify their theme files, so if you have modified this file yourself you can safely ignore this warning.", + array( + 'file' => $file, + 'cType' => 'theme', + 'canDiff' => true, + 'canFix' => true, + 'canDelete' => false, + 'cName' => $itemName, + 'cVersion' => $itemVersion, + 'cKey' => $cKey + ) + ); + } + } + + } + } + // knownFile means that the file is both part of core or a known plugin or theme AND that we recognize the file's hash. + // we could split this into files who's path we recognize and file's who's path we recognize AND who have a valid sig. + // But because we want to scan files who's sig we don't recognize, regardless of known path or not, we only need one "knownFile" field. + $this->db->queryWrite("insert into " . $this->db->prefix() . "wfFileMods (filename, filenameMD5, knownFile, oldMD5, newMD5) values ('%s', unhex(md5('%s')), %d, '', unhex('%s')) ON DUPLICATE KEY UPDATE newMD5=unhex('%s'), knownFile=%d", $file, $file, $knownFile, $md5, $md5, $knownFile); + + //Now that we know we can open the file, lets update stats + if(preg_match('/\.(?:js|html|htm|css)$/i', $realFile)){ + $this->linesOfJCH += sizeof(file($realFile)); + } else if(preg_match('/\.php$/i', $realFile)){ + $this->linesOfPHP += sizeof(file($realFile)); + } + $this->totalFiles++; + $this->totalData += filesize($realFile); //We already checked if file overflows int in the fileTooBig routine above + if($this->totalFiles % 100 === 0){ + wordfence::status(2, 'info', "Analyzed " . $this->totalFiles . " files containing " . wfUtils::formatBytes($this->totalData) . " of data so far"); + } + } else { + //wordfence::status(2, 'error', "Could not gen hash for file (probably because we don't have permission to access the file): $realFile"); + } + } + public static function wfHash($file){ + wfUtils::errorsOff(); + $md5 = @md5_file($file, false); + wfUtils::errorsOn(); + + if(! $md5){ return false; } + $fp = @fopen($file, "rb"); + if(! $fp){ + return false; + } + $ctx = hash_init('sha256'); + while (!feof($fp)) { + hash_update($ctx, str_replace( array("\n","\r","\t"," ") ,"",fread($fp, 65536))); + } + $shac = hash_final($ctx, false); + return array($md5, $shac); + } + private function isMalwarePrefix($hexMD5){ + $binPrefix = pack("H*", substr($hexMD5, 0, 8)); + if(isset($this->malwareData[$binPrefix])){ + return true; + } + return false; + } + private function isSafeFile($shac){ + $result = $this->engine->api->call('is_safe_file', array(), array('shac' => strtoupper($shac))); + if(isset($result['isSafe']) && $result['isSafe'] == 1){ + return true; + } + return false; + } +} +?> diff --git a/wp-content/plugins/wordfence/lib/wordfenceScanner.php b/wp-content/plugins/wordfence/lib/wordfenceScanner.php new file mode 100644 index 0000000..8b2e670 --- /dev/null +++ b/wp-content/plugins/wordfence/lib/wordfenceScanner.php @@ -0,0 +1,347 @@ +apiKey = $apiKey; + $this->wordpressVersion = $wordpressVersion; + $this->api = new wfAPI($this->apiKey, $this->wordpressVersion); + if($path[strlen($path) - 1] != '/'){ + $path .= '/'; + } + $this->path = $path; + + + $this->results = array(); + $this->errorMsg = false; + //First extract hosts or IP's and their URL's into $this->hostsFound and URL's into $this->urlsFound + $this->urlHoover = new wordfenceURLHoover($this->apiKey, $this->wordpressVersion); + $this->setupSigs(); + } + private function setupSigs(){ + $this->api = new wfAPI($this->apiKey, $this->wordpressVersion); + $sigData = $this->api->call('get_patterns', array(), array()); + //For testing, comment out above two, include server sig file and get local sigs + //$sigData = wfSigs::getSigData(); + if(! (is_array($sigData) && isset($sigData['sigPattern'])) ){ + throw new Exception("Wordfence could not get the attack signature patterns from the scanning server."); + } + $this->patterns = $sigData; + } + public function scan($forkObj){ + if(! $this->startTime){ + $this->startTime = microtime(true); + } + if(! $this->lastStatusTime){ + $this->lastStatusTime = microtime(true); + } + $db = new wfDB(); + $lastCount = 'whatever'; + $excludePattern = false; + if(wfConfig::get('scan_exclude', false)){ + $exParts = explode(',', wfConfig::get('scan_exclude')); + foreach($exParts as &$exPart){ + $exPart = preg_quote($exPart); + $exPart = preg_replace('/\\\\\*/', '.*', $exPart); + } + $excludePattern = '/^(?:' . implode('|', $exParts) . ')$/i'; + } + while(true){ + $thisCount = $db->querySingle("select count(*) from " . $db->prefix() . "wfFileMods where oldMD5 != newMD5 and knownFile=0"); + if($thisCount == $lastCount){ + //count should always be decreasing. If not, we're in an infinite loop so lets catch it early + break; + } + $lastCount = $thisCount; + $res1 = $db->querySelect("select filename, filenameMD5, hex(newMD5) as newMD5 from " . $db->prefix() . "wfFileMods where oldMD5 != newMD5 and knownFile=0 limit 500"); + if(sizeof($res1) < 1){ + break; + } + foreach($res1 as $rec1){ + $db->queryWrite("update " . $db->prefix() . "wfFileMods set oldMD5 = newMD5 where filenameMD5='%s'", $rec1['filenameMD5']); //A way to mark as scanned so that if we come back from a sleep we don't rescan this one. + $file = $rec1['filename']; + if($excludePattern && preg_match($excludePattern, $file)){ + continue; + } + $fileSum = $rec1['newMD5']; + + if(! file_exists($this->path . $file)){ + continue; + } + $fileExt = ''; + if(preg_match('/\.([a-zA-Z\d\-]{1,7})$/', $file, $matches)){ + $fileExt = strtolower($matches[1]); + } + $isPHP = false; + if(preg_match('/^(?:php|phtml|php\d+)$/', $fileExt)){ + $isPHP = true; + } + $dontScanForURLs = false; + if( (! wfConfig::get('scansEnabled_highSense')) && (preg_match('/^(?:\.htaccess|wp\-config\.php)$/', $file) || preg_match('/^(?:sql|tbz|tgz|gz|tar|log|err\d+)$/', $fileExt)) ){ + $dontScanForURLs = true; + } + + if(preg_match('/^(?:jpg|jpeg|mp3|avi|m4v|gif|png)$/', $fileExt) && (! wfConfig::get('scansEnabled_scanImages')) ){ + continue; + } + if( (! wfConfig::get('scansEnabled_highSense')) && strtolower($fileExt) == 'sql'){ // + continue; + } + if(wfUtils::fileTooBig($this->path . $file)){ //We can't use filesize on 32 bit systems for files > 2 gigs + //We should not need this check because files > 2 gigs are not hashed and therefore won't be received back as unknowns from the API server + //But we do it anyway to be safe. + wordfence::status(2, 'error', "Encountered file that is too large: $file - Skipping."); + continue; + } + $fsize = filesize($this->path . $file); //Checked if too big above + if($fsize > 1000000){ + $fsize = sprintf('%.2f', ($fsize / 1000000)) . "M"; + } else { + $fsize = $fsize . "B"; + } + if(function_exists('memory_get_usage')){ + wordfence::status(4, 'info', "Scanning contents: $file (Size:$fsize Mem:" . sprintf('%.1f', memory_get_usage(true) / (1024 * 1024)) . "M)"); + } else { + wordfence::status(4, 'info', "Scanning contents: $file (Size: $fsize)"); + } + + $stime = microtime(true); + $fh = @fopen($this->path . $file, 'r'); + if(! $fh){ + continue; + } + $totalRead = 0; + while(! feof($fh)){ + $data = fread($fh, 1 * 1024 * 1024); //read 1 megs max per chunk + $totalRead += strlen($data); + if($totalRead < 1){ + break; + } + if($isPHP || wfConfig::get('scansEnabled_scanImages') ){ + if(strpos($data, '$allowed'.'Sites') !== false && strpos($data, "define ('VER"."SION', '1.") !== false && strpos($data, "TimThum"."b script created by") !== false){ + if(! $this->isSafeFile($this->path . $file)){ + $this->addResult(array( + 'type' => 'file', + 'severity' => 1, + 'ignoreP' => $this->path . $file, + 'ignoreC' => $fileSum, + 'shortMsg' => "File is an old version of TimThumb which is vulnerable.", + 'longMsg' => "This file appears to be an old version of the TimThumb script which makes your system vulnerable to attackers. Please upgrade the theme or plugin that uses this or remove it.", + 'data' => array( + 'file' => $file, + 'canDiff' => false, + 'canFix' => false, + 'canDelete' => true + ) + )); + break; + } + } else if(strpos($file, 'lib/wordfenceScanner.php') === false && preg_match($this->patterns['sigPattern'], $data, $matches)){ + if(! $this->isSafeFile($this->path . $file)){ + $this->addResult(array( + 'type' => 'file', + 'severity' => 1, + 'ignoreP' => $this->path . $file, + 'ignoreC' => $fileSum, + 'shortMsg' => "This file appears to be malicious", + 'longMsg' => "This file appears to be installed by a hacker to perform malicious activity. If you know about this file you can choose to ignore it to exclude it from future scans. The text we found in this file that matches a known malicious file is: \"" . $matches[1] . "\".", + 'data' => array( + 'file' => $file, + 'canDiff' => false, + 'canFix' => false, + 'canDelete' => true + ) + )); + break; + } + + } + if(preg_match($this->patterns['pat2'], $data)){ + if(! $this->isSafeFile($this->path . $file)){ + $this->addResult(array( + 'type' => 'file', + 'severity' => 1, + 'ignoreP' => $this->path . $file, + 'ignoreC' => $fileSum, + 'shortMsg' => "This file may contain malicious executable code: " . $this->path . $file, + 'longMsg' => "This file is a PHP executable file and contains an " . $this->patterns['word1'] . " function and " . $this->patterns['word2'] . " decoding function on the same line. This is a common technique used by hackers to hide and execute code. If you know about this file you can choose to ignore it to exclude it from future scans.", + 'data' => array( + 'file' => $file, + 'canDiff' => false, + 'canFix' => false, + 'canDelete' => true + ) + )); + break; + } + } + if(wfConfig::get('scansEnabled_highSense')){ + $badStringFound = false; + if(strpos($data, $this->patterns['badstrings'][0]) !== false){ + for($i = 1; $i < sizeof($this->patterns['badstrings']); $i++){ + if(strpos($data, $this->patterns['badstrings'][$i]) !== false){ + $badStringFound = $this->patterns['badstrings'][$i]; + break; + } + } + } + if($badStringFound){ + if(! $this->isSafeFile($this->path . $file)){ + $this->addResult(array( + 'type' => 'file', + 'severity' => 1, + 'ignoreP' => $this->path . $file, + 'ignoreC' => $fileSum, + 'shortMsg' => "This file may contain malicious executable code" . $this->path . $file, + 'longMsg' => "This file is a PHP executable file and contains the word 'eval' (without quotes) and the word '" . $badStringFound . "' (without quotes). The eval() function along with an encoding function like the one mentioned are commonly used by hackers to hide their code. If you know about this file you can choose to ignore it to exclude it from future scans.", + 'data' => array( + 'file' => $file, + 'canDiff' => false, + 'canFix' => false, + 'canDelete' => true + ) + )); + break; + } + } + } + if(! $dontScanForURLs){ + $this->urlHoover->hoover($file, $data); + } + } else { + if(! $dontScanForURLs){ + $this->urlHoover->hoover($file, $data); + } + } + + if($totalRead > 2 * 1024 * 1024){ + break; + } + } + fclose($fh); + $mtime = sprintf("%.5f", microtime(true) - $stime); + $this->totalFilesScanned++; + if(microtime(true) - $this->lastStatusTime > 1){ + $this->lastStatusTime = microtime(true); + $this->writeScanningStatus(); + } + $forkObj->forkIfNeeded(); + } + } + $this->writeScanningStatus(); + wordfence::status(2, 'info', "Asking Wordfence to check URL's against malware list."); + $hooverResults = $this->urlHoover->getBaddies(); + if($this->urlHoover->errorMsg){ + $this->errorMsg = $this->urlHoover->errorMsg; + return false; + } + $this->urlHoover->cleanup(); + foreach($hooverResults as $file => $hresults){ + foreach($hresults as $result){ + if(preg_match('/wfBrowscapCache\.php$/', $file)){ + continue; + } + if($result['badList'] == 'goog-malware-shavar'){ + if(! $this->isSafeFile($this->path . $file)){ + $this->addResult(array( + 'type' => 'file', + 'severity' => 1, + 'ignoreP' => $this->path . $file, + 'ignoreC' => md5_file($this->path . $file), + 'shortMsg' => "File contains suspected malware URL: " . $this->path . $file, + 'longMsg' => "This file contains a suspected malware URL listed on Google's list of malware sites. Wordfence decodes " . $this->patterns['word3'] . " when scanning files so the URL may not be visible if you view this file. The URL is: " . $result['URL'] . " - More info available at Google Safe Browsing diagnostic page.", + 'data' => array( + 'file' => $file, + 'badURL' => $result['URL'], + 'canDiff' => false, + 'canFix' => false, + 'canDelete' => true, + 'gsb' => 'goog-malware-shavar' + ) + )); + } + } else if($result['badList'] == 'googpub-phish-shavar'){ + if(! $this->isSafeFile($this->path . $file)){ + $this->addResult(array( + 'type' => 'file', + 'severity' => 1, + 'ignoreP' => $this->path . $file, + 'ignoreC' => md5_file($this->path . $file), + 'shortMsg' => "File contains suspected phishing URL: " . $this->path . $file, + 'longMsg' => "This file contains a URL that is a suspected phishing site that is currently listed on Google's list of known phishing sites. The URL is: " . $result['URL'], + 'data' => array( + 'file' => $file, + 'badURL' => $result['URL'], + 'canDiff' => false, + 'canFix' => false, + 'canDelete' => true, + 'gsb' => 'googpub-phish-shavar' + ) + )); + } + } + } + } + + return $this->results; + } + private function writeScanningStatus(){ + wordfence::status(2, 'info', "Scanned contents of " . $this->totalFilesScanned . " additional files at " . sprintf('%.2f', ($this->totalFilesScanned / (microtime(true) - $this->startTime))) . " per second"); + } + public static function containsCode($arr){ + foreach($arr as $elem){ + if(preg_match($this->patterns['pat3'], $elem)){ + return true; + } + } + return false; + } + + private static function hostInURL($host, $url){ + $host = str_replace('.', '\\.', $host); + return preg_match('/(?:^|^http:\/\/|^https:\/\/|^ftp:\/\/)' . $host . '(?:$|\/)/i', $url); + } + private function addResult($result){ + for($i = 0; $i < sizeof($this->results); $i++){ + if($this->results[$i]['type'] == 'file' && $this->results[$i]['data']['file'] == $result['data']['file']){ + if($this->results[$i]['severity'] > $result['severity']){ + $this->results[$i] = $result; //Overwrite with more severe results + } + return; + } + } + //We don't have a results for this file so append + $this->results[] = $result; + } + private function isSafeFile($file){ + if(! $this->api){ + $this->api = new wfAPI($this->apiKey, $this->wordpressVersion); + } + + $wfHash = wordfenceHash::wfHash($file); + $result = $this->api->call('is_safe_file', array(), array('shac' => strtoupper($wfHash[1]))); + if(isset($result['isSafe']) && $result['isSafe'] == 1){ + return true; + } + return false; + } +} + +?> diff --git a/wp-content/plugins/wordfence/lib/wordfenceURLHoover.php b/wp-content/plugins/wordfence/lib/wordfenceURLHoover.php new file mode 100644 index 0000000..86585eb --- /dev/null +++ b/wp-content/plugins/wordfence/lib/wordfenceURLHoover.php @@ -0,0 +1,275 @@ +writeHosts(); + return array('debug', 'errorMsg', 'table', 'apiKey', 'wordpressVersion', 'dRegex'); + } + public function __wakeup(){ + $this->hostsToAdd = new wfArray(array('owner', 'host', 'path', 'hostKey')); + $this->api = new wfAPI($this->apiKey, $this->wordpressVersion); + $this->db = new wfDB(); + } + public function __construct($apiKey, $wordpressVersion, $db = false){ + $this->hostsToAdd = new wfArray(array('owner', 'host', 'path', 'hostKey')); + $this->apiKey = $apiKey; + $this->wordpressVersion = $wordpressVersion; + $this->api = new wfAPI($apiKey, $wordpressVersion); + if($db){ + $this->db = $db; + } else { + $this->db = new wfDB(); + } + global $wpdb; + if(isset($wpdb)){ + $this->table = $wpdb->base_prefix . 'wfHoover'; + } else { + $this->table = 'wp_wfHoover'; + } + $this->db->truncate($this->table); + } + public function cleanup(){ + $this->db->truncate($this->table); + } + public function hoover($id, $data){ + if(strpos($data, '.') === false){ + return; + } + $this->currentHooverID = $id; + try { + @preg_replace_callback("/(?<=^|[^a-zA-Z0-9\-])((?:[a-zA-Z0-9\-]+\.)+)(" . $this->dRegex . ")($|[\r\n\s\t]|\/[^\r\n\s\t\"\'\$\{\}<>]*)/i", array($this, 'addHost'), $data); + //((?:$|[^a-zA-Z0-9\-\.\'\"])[^\r\n\s\t\"\'\$\{\}<>]*) + //"\$this->" . "addHost(\$id, '$1$2', '$3')", $data); + } catch(Exception $e){ + //error_log("Regex error 1: $e"); + } + @preg_replace_callback("/(?<=[^\d]|^)(\d{8,10}|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})($|[\r\n\s\t]|\/[^\r\n\s\t\"\'\$\{\}<>]*)/", array($this, 'addIP'), $data); + //([^\d\'\"][^\r\n\s\t\"\'\$\{\}<>]*) + //"\$this->" . "addIP(\$id, \"$1\",\"$2\")", $data); + $this->writeHosts(); + } + private function dbg($msg){ + if($this->debug){ + //error_log("DEBUG: $msg\n"); + } + } + public function addHost($matches){ + $id = $this->currentHooverID; + $host = $matches[1] . $matches[2]; + $path = $matches[3]; + if(strpos($path, '/') !== 0){ + $path = '/'; + } else { + $path = preg_replace_callback('/([^A-Za-z0-9\-\.\_\~:\/\?\#\[\]\@\!\$\&\'\(\)\*\+\,;\=]+)/', 'wordfenceURLHoover::urlenc', $path); + } + $host = strtolower($host); + $hostParts = explode('.', $host); + if(sizeof($hostParts) == 2){ + $hostKey = substr(hash('sha256', $hostParts[0] . '.' . $hostParts[1] . '/', true), 0, 4); + $this->hostsToAdd->push(array('owner' => $id, 'host' => $host, 'path' => $path, 'hostKey' => $hostKey)); + } else if(sizeof($hostParts) > 2){ + $hostKeyThreeParts = substr(hash('sha256',$hostParts[sizeof($hostParts) - 3] . '.' . $hostParts[sizeof($hostParts) - 2] . '.' . $hostParts[sizeof($hostParts) - 1] . '/', true), 0, 4); + $hostKeyTwoParts = substr(hash('sha256', $hostParts[sizeof($hostParts) - 2] . '.' . $hostParts[sizeof($hostParts) - 1] . '/', true), 0, 4); + $this->hostsToAdd->push(array('owner' => $id, 'host' => $host, 'path' => $path, 'hostKey' => $hostKeyThreeParts)); + $this->hostsToAdd->push(array('owner' => $id, 'host' => $host, 'path' => $path, 'hostKey' => $hostKeyTwoParts)); + } + if($this->hostsToAdd->size() > 1000){ $this->writeHosts(); } + } + public function addIP($matches){ + $id = $this->currentHooverID; + $ipdata = $matches[1]; + $path = $matches[2]; + $this->dbg("Add IP called with $ipdata $path"); + if(strstr($ipdata, '.') === false){ + if($ipdata >= 16777216 && $ipdata <= 4026531840){ + $ipdata = long2ip($ipdata); + } else { + return; //Is int but invalid address. + } + } + $parts = explode('.', $ipdata); + foreach($parts as $part){ + if($part < 0 || $part > 255){ + return; + } + } + if(wfUtils::isPrivateAddress($ipdata) ){ + return; + } + if(strlen($path) == 1){ + $path = '/'; //Because it's either a whitespace char or a / anyway. + } else if(strlen($path) > 1){ + $path = preg_replace_callback('/([^A-Za-z0-9\-\.\_\~:\/\?\#\[\]\@\!\$\&\'\(\)\*\+\,;\=]+)/', 'wordfenceURLHoover::urlenc', $path); + } + $hostKey = substr(hash('sha256', $ipdata . '/', true), 0, 4); + $this->hostsToAdd->push(array('owner' => $id, 'host' => $ipdata, 'path' => $path, 'hostKey' => $hostKey)); + if($this->hostsToAdd->size() > 1000){ $this->writeHosts(); } + } + public static function urlenc($m){ + return urlencode($m[1]); + } + private function writeHosts(){ + if($this->hostsToAdd->size() < 1){ return; } + if($this->useDB){ + $sql = "insert into " . $this->table . " (owner, host, path, hostKey) values "; + while($elem = $this->hostsToAdd->shift()){ + //This may be an issue for hyperDB or other abstraction layers, but leaving it for now. + $sql .= sprintf("('%s', '%s', '%s', '%s'),", + $this->db->realEscape($elem['owner']), + $this->db->realEscape($elem['host']), + $this->db->realEscape($elem['path']), + $this->db->realEscape($elem['hostKey']) + ); + } + $sql = rtrim($sql, ','); + $this->db->queryWrite($sql); + } else { + while($elem = $this->hostsToAdd->shift()){ + $this->hostKeys[] = $elem['hostKey']; + $this->hostList[] = array( + 'owner' => $elem['owner'], + 'host' => $elem['host'], + 'path' => $elem['path'], + 'hostKey' => $elem['hostKey'] + ); + } + } + } + public function getBaddies(){ + $allHostKeys = array(); + $stime = microtime(true); + $allHostKeys = array(); + if($this->useDB){ + $q1 = $this->db->querySelect("select distinct hostKey as hostKey from $this->table"); + foreach($q1 as $hRec){ + $allHostKeys[] = $hRec['hostKey']; + } + } else { + $allHostKeys = $this->hostKeys; + } + //Now call API and check if any hostkeys are bad. + //This is a shortcut, because if no hostkeys are bad it saves us having to check URLs + if(sizeof($allHostKeys) > 0){ //If we don't have any hostkeys, then we won't have any URL's to check either. + //Hostkeys are 4 byte sha256 prefixes + //Returned value is 2 byte shorts which are array indexes for bad keys that were passed in the original list + $this->dbg("Checking " . sizeof($allHostKeys) . " hostkeys"); + if($this->debug){ + foreach($allHostKeys as $key){ + $this->dbg("Checking hostkey: " . bin2hex($key)); + } + } + wordfence::status(2, 'info', "Checking " . sizeof($allHostKeys) . " host keys against Wordfence scanning servers."); + $resp = $this->api->binCall('check_host_keys', implode('', $allHostKeys)); + wordfence::status(2, 'info', "Done host key check."); + $this->dbg("Done hostkey check"); + + $badHostKeys = array(); + if($resp['code'] == 200){ + if(strlen($resp['data']) > 0){ + $dataLen = strlen($resp['data']); + if($dataLen % 2 != 0){ + $this->errorMsg = "Invalid data length received from Wordfence server: " . $dataLen; + return false; + } + for($i = 0; $i < $dataLen; $i += 2){ + $idxArr = unpack('n', substr($resp['data'], $i, 2)); + $idx = $idxArr[1]; + if(isset($allHostKeys[$idx]) ){ + $badHostKeys[] = $allHostKeys[$idx]; + $this->dbg("Got bad hostkey for record: " . var_export($allHostKeys[$idx], true)); + } else { + $this->dbg("Bad allHostKeys index: $idx"); + $this->errorMsg = "Bad allHostKeys index: $idx"; + return false; + } + } + } + } else { + $this->errorMsg = "Wordfence server responded with an error. HTTP code " . $resp['code'] . " and data: " . $resp['data']; + return false; + } + if(sizeof($badHostKeys) > 0){ + $urlsToCheck = array(); + $totalURLs = 0; + //need to figure out which id's have bad hostkeys + //need to feed in all URL's from those id's where the hostkey matches a URL + foreach($badHostKeys as $badHostKey){ + if($this->useDB){ + //Putting a 10000 limit in here for sites that have a huge number of items with the same URL that repeats. + // This is an edge case. But if the URLs are malicious then presumably the admin will fix the malicious URLs + // and on subsequent scans the items (owners) that are above the 10000 limit will appear. + $q1 = $this->db->querySelect("select owner, host, path from $this->table where hostKey='%s' limit 10000", $badHostKey); + foreach($q1 as $rec){ + $url = 'http://' . $rec['host'] . $rec['path']; + if(! isset($urlsToCheck[$rec['owner']])){ + $urlsToCheck[$rec['owner']] = array(); + } + if(! in_array($url, $urlsToCheck[$rec['owner']])){ + $urlsToCheck[$rec['owner']][] = $url; + $totalURLs++; + } + } + } else { + foreach($this->hostList as $rec){ + if($rec['hostKey'] == $badHostKey){ + $url = 'http://' . $rec['host'] . $rec['path']; + if(! isset($urlsToCheck[$rec['owner']])){ + $urlsToCheck[$rec['owner']] = array(); + } + if(! in_array($url, $urlsToCheck[$rec['owner']])){ + $urlsToCheck[$rec['owner']][] = $url; + $totalURLs++; + } + } + } + } + } + + if(sizeof($urlsToCheck) > 0){ + wordfence::status(2, 'info', "Checking " . $totalURLs . " URLs from " . sizeof($urlsToCheck) . " sources."); + $badURLs = $this->api->call('check_bad_urls', array(), array( 'toCheck' => json_encode($urlsToCheck)) ); + wordfence::status(2, 'info', "Done URL check."); + $this->dbg("Done URL check"); + if(is_array($badURLs) && sizeof($badURLs) > 0){ + $finalResults = array(); + foreach($badURLs as $file => $badSiteList){ + if(! isset($finalResults[$file])){ + $finalResults[$file] = array(); + } + foreach($badSiteList as $badSite){ + $finalResults[$file][] = array( + 'URL' => $badSite[0], + 'badList' => $badSite[1] + ); + } + } + return $finalResults; + } else { + return array(); + } + } else { + return array(); + } + } else { + return array(); + } + } else { + return array(); + } + } +} +?> diff --git a/wp-content/plugins/wordfence/readme.txt b/wp-content/plugins/wordfence/readme.txt new file mode 100644 index 0000000..61632e0 --- /dev/null +++ b/wp-content/plugins/wordfence/readme.txt @@ -0,0 +1,987 @@ +=== Wordfence Security === +Contributors: mmaunder +Tags: wordpress, security, performance, speed, caching, cache, caching plugin, wordpress cache, wordpress caching, wordpress security, security plugin, secure, anti-virus, malware, firewall, antivirus, virus, google safe browsing, phishing, scrapers, hacking, wordfence, securty, secrity, secure, two factor, cellphone sign-in, cellphone signin, cellphone, twofactor, security, secure, htaccess, login, log, users, login alerts, lock, chmod, maintenance, plugin, private, privacy, protection, permissions, 503, base64, injection, code, encode, script, attack, hack, hackers, block, blocked, prevent, prevention, RFI, XSS, CRLF, CSRF, SQL Injection, vulnerability, website security, WordPress security, security log, logging, HTTP log, error log, login security, personal security, infrastructure security, firewall security, front-end security, web server security, proxy security, reverse proxy security, secure website, secure login, two factor security, maximum login security, heartbleed, heart bleed, heartbleed vulnerability, openssl vulnerability, nginx, litespeed, php5-fpm, woocommerce support, woocommerce caching +Requires at least: 3.3.1 +Tested up to: 4.0 +Stable tag: 5.2.2 + +Wordfence Security is a free enterprise class security and performance plugin that makes your site up to 50 times faster and more secure. + +== Description == + +Wordfence starts by checking if your site is already infected. We do a deep server-side scan of your source code comparing it to the Official WordPress repository for core, themes and plugins. Then Wordfence secures your site and makes it up to 50 times faster. + +Wordfence Security is 100% free. We also offer a Premium API key that gives you access to our premium support ticketing system at [support.wordfence.com](http://support.wordfence.com/) along with two factor authentication via SMS, country blocking and the ability to schedule scans for specific times. + +This is a brief introductory video for Wordfence: + +[vimeo http://vimeo.com/70908504] + +The following video is an introduction to Falcon Engine, the new caching engine included in Wordfence 5 which will make your site up to 50 times faster +than a standard WordPress installation. + +[vimeo http://vimeo.com/91217997] + +Wordfence Security is now Multi-Site compatible and includes Cellphone Sign-in which permanently secures your website from brute force hacks. + +Wordfence Security: + +* Includes Falcon Engine, the fastest WordPress caching engine available today. Falcon is faster because it reduces your web server disk and database activity to a minimum. +* Includes support for other major plugins and themes like WooCommerce. +* Real-time blocking of known attackers. If another site using Wordfence is attacked and blocks the attacker, your site is automatically protected. +* Sign-in using your password and your cellphone to vastly improve login security. This is called Two Factor Authentication and is used by banks, government agencies and military world-wide for highest security authentication. +* Includes two-factor authentication, also referred to as cellphone sign-in. +* Scans for the HeartBleed vulnerability - included in the free scan for all users. +* Wordfence includes two caching modes for compatability and has cache management features like the ability to clear the cache and monitor cache usage. +* Enforce strong passwords among your administrators, publishers and users. Improve login security. +* Scans core files, themes and plugins against WordPress.org repository versions to check their integrity. Verify security of your source. +* Includes a firewall to block common security threats like fake Googlebots, malicious scans from hackers and botnets. +* Block entire malicious networks. Includes advanced IP and Domain WHOIS to report malicious IP's or networks and block entire networks using the firewall. Report security threats to network owner. +* See how files have changed. Optionally repair changed files that are security threats. +* Scans for signatures of over 44,000 known malware variants that are known security threats. +* Scans for many known backdoors that create security holes including C99, R57, RootShell, Crystal Shell, Matamu, Cybershell, W4cking, Sniper, Predator, Jackal, Phantasma, GFS, Dive, Dx and many many more. +* Continuously scans for malware and phishing URL's including all URL's on the Google Safe Browsing List in all your comments, posts and files that are security threats. +* Scans for heuristics of backdoors, trojans, suspicious code and other security issues. +* Checks the strength of all user and admin passwords to enhance login security. +* Monitor your DNS security for unauthorized DNS changes. +* Rate limit or block security threats like aggressive crawlers, scrapers and bots doing security scans for vulnerabilities in your site. +* Choose whether you want to block or throttle users and robots who break your security rules. +* Includes login security to lock out brute force hacks and to stop WordPress from revealing info that will compromise security. +* See all your traffic in real-time, including robots, humans, 404 errors, logins and logouts and who is consuming most of your content. Enhances your situational awareness of which security threats your site is facing. +* A real-time view of all traffic including automated bots that often constitute security threats that Javascript analytics packages never show you. +* Real-time traffic includes reverse DNS and city-level geolocation. Know which geographic area security threats originate from. +* Monitors disk space which is related to security because many DDoS attacks attempt to consume all disk space to create denial of service. +* Wordfence Security for multi-site also scans all posts and comments across all blogs from one admin panel. +* WordPress Multi-Site (or WordPress MU in the older parlance) compatible. +* Premium users can also block countries and schedule scans for specific times and a higher frequency. + +Wordfence Security is full-featured and constantly updated by our team to incorporate the latest security features and to hunt for the +newest security threats to your WordPress website. + +== Installation == + +To install Wordfence Security and start protecting your WordPress website: + +1. Install Wordfence Security automatically or by uploading the ZIP file. +1. Activate the security plugin through the 'Plugins' menu in WordPress. +1. Wordfence Security is now activated. Go to the scan menu and start your first security scan. Scheduled security scanning will also be enabled. +1. Once your first scan has completed a list of security threats will appear. Go through them one by one to secure your site. +1. Visit the Wordfence Security options page to enter your email address so that you can receive email security alerts. +1. Optionally change your security level or adjust the advanced options to set individual security scanning and protection options for your site. +1. Click the "Live Traffic" menu option to watch your site activity in real-time. Situational awareness is an important part of website security. + +To install Wordfence Security on WordPress Multi-Site installations: + +1. Install Wordfence Security via the plugin directory or by uploading the ZIP file. +1. Network Activate Wordfence Security. This step is important because until you network activate it, your sites will see the plugin option on their plugins menu. Once activated that option dissapears. +1. Now that Wordfence is network activated it will appear on your Network Admin menu. Wordfence Security will not appear on any individual site's menu. +1. Go to the "Scan" menu and start your first security scan. +1. Wordfence Security will do a security scan all files in your WordPress installation including those in the blogs.dir directory of your individual sites. +1. Live Traffic will appear for ALL sites in your network. If you have a heavily trafficked system you may want to disable live traffic which will stop logging to the DB. +1. Firewall rules and login rules apply to the WHOLE system. So if you fail a login on site1.example.com and site2.example.com it counts as 2 failures. Crawler traffic is counted between blogs, so if you hit three sites in the network, all the hits are totalled and that counts as the rate you're accessing the system. + +== Frequently Asked Questions == + +[Visit our support website which contains a FAQ and knowledgebase which is more comprehensive and updated frequently.](http://support.wordfence.com/) + += What does Wordfence Security do that other WordPress security plugins don't do? = + +* Wordfence Security is the only security plugin that is fully integrated with it's own high speed caching engine to avoid security and caching conflicts. +* Wordfence Security actually verifies your website source code integrity against the official WordPress repository and shows you the changes. We are the only plugin to do this. +* Wordfence Security provides two-factor authentication (Cellphone Sign-in) for paid members. We're the only plugin to offer this. +* Wordfence Security includes comprehensive protection against DDoS attacks by giving you a performance boost up to 50X and giving you the option to disable XML-RPC among other features. +* Wordfence Security scans check all your files, comments and posts for URL's in Google's Safe Browsing list. We are the only plugin to offer this very important security enhancement. +* Wordfence Security scans do not consume large amounts of your precious bandwidth because all security scans happen on your web server which makes them very fast. +* Wordfence Security fully supports WordPress Multi-Site which means you can security scan every blog in your Multi-Site installation with one click. +* Wordfence Security includes Two-Factor authentication, the most secure way to stop brute force attackers in their tracks. + += Does Wordfence Security support Multi-Site installations? = + +Yes. WordPress MU or Multi-Site as it's called now is fully supported. Using Wordfence Security you can security scan every blog in your network with one click. If one of your customers posts a page or post with a known malware URL that threatens your whole domain with being blacklisted by Google, we will tell you within a maximum of one hour which is how often scans occur. + += Will Wordfence Security slow my site down? = + +No. Actually it will make your site up to 50X faster when Falcon Engine is enabled, up to 30 times faster with our PHP caching engine and even +without caching Wordfence is extremely fast and uses techniques like caching it's own configuration data to avoid database lookups. Older +versions of Wordfence did incur a slight performance penalty, but we have not only fixed this issue but knocked it out of the park. Wordfence +now makes your site faster than any other caching plugin available!! + += How often is Wordfence Security updated? = + +The Wordfence Security plugin is frequently updated and we update the code on our security scanning servers +more frequently. Our cloud servers are continually updated with the latest known security threats and vulnerabilities so +that we can blog any security threat as soon as it emerges in the wild. + += What if I need support? = + +All our paid customers receive priority support. Excellent customer service is a key part +of being a Wordfence Security member. As free or Premium member can visit [support.wordfence.com](http://support.wordfence.com/) and where you will find out knowledgebase. If you're a Premium member you can also open a support ticket. + += Can I disable certain security features of Wordfence Security? = + +Yes! Simply visit the Options page, click on advanced options and enable or disable the security features you want. + += What if my site security has already been compromised by a hacker? = + +Wordfence Security is the only security plugin that is able to repair core files, themes and plugins on sites where security is already compromised. +However, please note that site security can not be assured unless you do a full reinstall if your site has been hacked. We recommend you only +use Wordfence Security to get your site into a running state in order to recover the data you need to do a full reinstall. A full reinstall is the only +way to ensure site security once you have been hacked. + += How will I be alerted that my site has a security problem? = + +Wordfence Security sends security alerts via email. Once you install Wordfence Security, you will configure a list of email addresses where security alerts will be sent. +When you receive a security alert, make sure you deal with it promptly to ensure your site stays secure. + += My WordPress site is behind a firewall. Doesn't that make it secure? = + +If your site is accessible from the web, it means that people you don't know can execute PHP code on your site. +They have to be able to execute PHP code, like the core WordPress code, in order for your site to work. +Most WordPress security threats allow a hacker to execute PHP code on your website. The challenge hackers +face is how to get their malicious PHP code onto your site to compromise your security. There +are many upload mechanisms that WordPress itself, themes and plugins offer and the vast majority of these +are secure. However, every now and then a hacker discovers an upload mechanism that is not secure or +a way of fooling your site into allowing an upload. That is usually when security is compromised. Even +though your site is behind a commercial firewall, it still accepts web requests that include uploads and executes PHP code +and as long as it does that, it may become face a security vulnerability at some point. + += Will Wordfence Security protect me against the Timthumb security problem? = + +The timthumb security exploit occurred in 2011 and all good plugins and themes now use an updated +version of timthumb (which the creator of Wordfence Security wrote and donated to the timthumb author) which closes the security hole that +caused the problem. However we do scan for old version of timthumb for good measure to make sure they don't +cause a security hole on your site. + + +== Screenshots == + +1. The home screen of Wordfence Security where you can see a summary, manage security issues and do a manual security scan. +2. The Live Traffic view of Wordfence Security where you can see real-time activity on your site. +3. The "Blocked IPs" page where you can manage blocked IP's, locked out IP's and see recently throttled IPs that violated security rules. +4. The basic view of Wordfence Security options. There is very little to configure other than your alert email address and security level. +5. If you're technically minded, this is the under-the-hood view of Wordfence Security options where you can fine-tune your security settings. + +== Changelog == + += 5.2.2 = +* Protection from the Slider Revolution Plugin arbitrary file download vulnerability announced today. Attempts to download any .php file including wp-config.php are denied. +* Changed the Wordfence Memory config option's label to make it clearer what the option does. +* Moved screenshots out of plugin distro directory to reduce plugin payload size. + += 5.2.1 = +* Fix: Users with large lists of blocked IP's (over 2,100) would receive a browser error "Uncaught RangeError: Maximum call stack size exceeded". Fixed. +* Improvement: Added detection for FOPO obfuscation often used by hackers to obfuscate PHP code. Will detect a range of newer infections. (Server-side code change) + += 5.1.9 = +* Fix: Crawler triggering update cron job threw error about show_message() being redeclared at end of update. Fixed. +* Fix: Live traffic cities were incorrect and did not match country blocking block effects under certain conditions. Fixed. +* Fix: If a site database contained a table with dashes in the table name, we would throw an error at the end of every scan. Fixed. +* Improvement: Upgraded country DB to newest version. +* Improvement: Changed live traffic geo location caching to be 24 hours instead of a week so that geo DB updates for live traffic on our servers take effect sooner. +* Improvement: Ignoring .sql files in scans which are usually backups and contain many false positives, unless high sensitivity scanning is enabled. + += 5.1.8 = +* Fix: Option to disable config caching. You can find this new option at the bottom of the Wordfence options page. +* Note: If you are seeing the "cron key does not match the saved key" error, check the box to disable config caching at the bottom of the Wordfence options page, save and this will fix it. +* Note: If you are trying to save your Wordfence options and the options keep reverting, enable the "disable config caching" at the bottom of your Wordfence options page, save and this will fix it. + += 5.1.7 = +* Improvement: Wordfence now supports websites behind proxy servers when communicating with the Wordfence API servers. +* Fix: Removed old image files that were unused. + += 5.1.6 = +* Feature: Country blocking now lets you block login page OR rest of site or any combination. So you can now block the login page only for example. +* Improvement: Upgraded the country blocking database to the newest version which is July 2014. +* Improvement: Improved server-side performance for Wordfence scanning. +* Improvement: Offer the option to keep Wordfence up-to-date automatically. +* Improvement: If file contains malicious code, include filename in email alert summary info. +* Fix: Removed strings in readme.txt that were causing false positives in hosts own scanning software. +* Fix: Prevent lockout email alerts being sent for blank usernames. + += 5.1.5 = +* Fix: Bing crawler was being misidentified as human. Fixed. +* Fix: Escaping HTML on whois records. Thanks Nikhil Srivastava, TechDefencelabs (http://techdefencelabs.com) + += 5.1.4 = +* Feature: Auto updates for Wordfence! This is a much-requested feature by our power admin's. Enable the "Update Wordfence automatically when a new version is released" option on the Wordfence options page. +* Fix: Security fix. Thanks to Narendra Bhati from Suma Soft. + += 5.1.2 = +* Feature: You can now specify one or more URL's that if accessed will cause the IP to immediately be blocked. See below "Other Options" for the new feature. +* Improvement: Added additional debugging info when cron key does not match saved key to help diagnose any problems. +* Improvement: New Issues email now contains site URL rather than just hostname to help identify subdirectory sites. +* Improvement: Upgraded the country blocking database to the newest version which is June 2014. +* Fix: Some browser versions were being reported as 0.0. Updated browser detection. + += 5.1.1 = +* Improvement: WooCommerce now officially supported out of the box. +* Feature: Added the wordfence:doNotCache() function that you can call in your themes and plugins to prevent caching of items. +* Fix: Fixed the warning appearing in lib/wfUtils.php about a scalar being treated as an array which appeared in 5.0.9. +* Fix: Failed logins were not being logged for non-existent usernames that were set to immediatelly block. Fixed. +* Fix: Removed several warnings/notices that would appear when WP_DEBUG is enabled. +* Fix: Added default character set to .htaccess which fixes garbled international characters being served from cache on sites with no default apache charset. + += 5.0.9 = +* Feature: (Premium) Advanced Comment Spam Filter. Checks comment source IP, author URL and hosts and IP's in body against additional spam lists. +* Feature: (Premium) Check if your site is being Spamvertised i.e. your domain is being included in spam emails. Usually indicates you've been hacked. +* Feature: (Premium) Check if your website IP is generating spam. Checks against spam lists if your IP is a known source of spam. +* Improvement: Cache clearing errors are nown shown with clear explanations. +* Improvement: Added lightweight stats logging internally in preparation for displaying them on the admin UI in the next release. +* Fix: If a non-existent user tries to sign in it is not logged in the live logins tab. Fixed. +* Fix: Removed warning "Trying to get property of non-object" that would occur under certain conditions. +* Fix: Removed call to is_404() which was not having any effect and would issue a warning if debug mode is enabled. +* Fix: Check if CURL is installed as part of connectivity test. + += 5.0.8 = +* Feature: Support for Jetpack Mobile Theme in Falcon Caching engine. Regular pages are cached, mobile pages are served direct to browser. +* Improvement: Pages that are less than 1000 bytes will not be cached. The avg web page size in 2014 is 1246,000 bytes. Anything less than 1000 bytes is usually an error. +* Improvement: Wordfence will now request 128M on hosts instead of 64M where memory in php.ini is set too low. +* Fix: Wordfence was caching 404's under certain conditions. Fixed. +* Fix: Nginx/FastCGI users would sometimes receive an error about not being able to edit .htaccess. Fixed. + += 5.0.7 = +* Feature: Immediately block IP if hacker tries any of the following usernames. (Comma separated list that you can specify on the Wordfence options page) +* Feature: Exclude exact URL's from caching. Specifically, this allows you to exclude the home page which was not possible before. +* Feature: Exclude browsers or partial browser matches and specific cookies from caching. +* Fix: Fixed issue where /.. dirs would be included in certain scandir operations. +* Fix: logHuman function was not analyzing user-agent strings correctly which would allow some crawlers that execute JS to be logged as humans. +* Fix: Removed ob_end_clean warnings about empty buffers when a human is being logged. +* Fix: Removed warning in lib/wfCache.php caused by unset $_SERVER['QUERY_STRING'] when we check it. +* Fix: Fixed "logged out as ''" blank username logout messages. +* Fix: Improved security of config cache by adding a PHP header to file that we strip. Already secure because we have a .htaccess denying access, but more is better. +* Fix: Falcon Engine option to clear Falcon cache when a post scheduled to be published in future is published. +* Fix: Fixed Heartbleed scans hanging. + += 5.0.6 = +* Feature: Prevent discovery of usernames through '?/author=N' scans. New option under login security which you can enable. +* Fix: Introduced new global hash whitelist on our servers that drastically reduces false positives in all scans especially theme and plugin scans. +* Fix: Fixed issue that corrupted .htaccess because stat cache would store file size and cause filesize() to report incorrect size when reading/writing .htaccess. +* Fix: Fixed LiteSpeed issue where Falcon Engine would not serve cached pages under LiteSpeed and LiteSpeed warned about unknown server variable in .htaccess. +* Fix: Fixed issue where Wordfence Security Network won't block known bad IP after first login attempt if "Don't let WordPress reveal valid users in login errors" option is not enabled. +* Fix: Sites installed under a directory would sometimes see Falcon not serving cached docs. +* Fix: If you are a premium customer and you have 2FA enabled and your key expires, fixed issue that may have caused you to get locked out. +* Improvement: If your Premium API key now expires, we simply downgrade you to free scanning and continue rather than disabling Wordfence. +* Improvement: Email warnings a few days before your Premium key expires so you have a chance to upgrade for uninterrupted service. + += 5.0.5 = +* Fix: Removed mysql_real_escape_string because it’s deprecated. Using WP’s internal escape. +* Fix: Wordfence issues list would be deleted halfway through scan under certain conditions. +* Fix: Connection tester would generate php error under certain conditions. + += 5.0.4 = +* Feature: We now scan for the infamous heartbleed openssl vulnerability using a non-intrusive scan method safe for production servers. +* Improvement: We now check if .htaccess is writable and if not we give you rules to manually enable Falcon. +* Improvement: Once Falcon is enabled, if we can’t write to .htaccess, we fall back to PHP based IP blocking. +* Feature: You can now clear pages and posts from the cache on the list-posts page under each item or on their edit pages next to the Update button. +* Fix: We now support sites who use a root URI but store their files and .htaccess in a subdirectory of the web root. +* Fix: Added an additional filter to prevent crawlers like Bing who execute javascript from being logged as humans. +* Fix: Changed the extension of the backup .htaccess to be .txt to avoid anti-virus software alerting on a download with .com extension. [Props to Scott N. for catching this] + += 5.0.3 = +* Removed ability to disable XML-RPC. The feature broke many mobile apps and other remote services. + += 5.0.2 = +* Fix: Issue that caused users running WordPress in debug mode to see a is_404 warning message. +* Fix: Issue that caused Call to undefined function wp_get_current_user warning. +* Fix: Issue that caused caching to not work on sites using subdirectories. +* Fix: Issue that caused SQL errors to periodically appear about wfPerfLog table. +* Fix: Issue that caused warnings about array elements not being declared. + += 5.0.1 = +* To see a video introduction of Falcon Engine included with Wordfence 5, [please watch this video](https://vimeo.com/91217997) +* SUMMARY: This is a major release which includes Falcon Engine which provides the fastest WordPress caching available today. It also includes many other improvements and fixes. Upgrade immediatelly to get a massive performance boost for your site, many new features and fixes. +* Feature: Falcon Engine provides the fastest caching algorithm for WordPress. Get up to a 50x site speedup now when you use Wordfence. +* Feature: PHP based caching as an alternative to Falcon. +* Feature: IP, browser and IP range blocking is now done using .htaccess if Falcon Engine is enabled providing a big performance boost. +* Feature: Falcon and PHP caching includes ability to exclude URL patterns from cache along with cache management. +* Feature: Disable XML-RPC in WordPress to prevent your site from being used as a drone in a DDoS attack. +* Feature: Option to disable Wordfence cookies from being sent. +* Feature: Option to start all scans using the remote start-scan option. This may fix some customers who can’t start scans. +* Feature: Falcon Engine includes the ability to block IP ranges using .htaccess. We take your ranges and convert them into CIDR compatible .htaccess lines that very efficiently block the ranges you’ve specified. Another great performance improvement. +* Feature: If user disables permalinks we automatically disable Falcon Engine caching. +* Feature: Before you enable Falcon Engine we make you download a backup of your .htaccess file just in case. +* Improvement: Real-time traffic monitoring loads asynchronously to provide a faster user experience. +* Improvement: All Wordfence configuration variables are now cached on disk rather than repeatedly looked up on the database providing a big performance improvement. +* Improvement: Updated browser detection algorithms for new browsers. +* Improvement: Updated country GeoIP database to the April edition. +* Improvement: Improved performance by only loading routines required for logged in users if they have a login cookie. No DB lookup required. +* Improvement: Added on-off switches to top of live traffic to make it easy to turn on/off. +* Improvement: Removed marketing message from Wordfence email alerts. +* Improvement: Added ability to exclude files from scan that match patterns. Multiple excludes using wildcards allowed. +* Improvement: Improved performance by moving all actions that would only be used by a logged in user to be set up using add_action if the user actually has a login cookie. +* Fix: Added a throttle to prevent identical email alerts being sent repeatedly. +* Fix: Changed order of IP blocking and alerting code to prevent multiple email alerts being sent in a race condition. +* Fix: Cleaned up legacy code including removing all array_push statements. +* Fix: Added try/catch block to fileTooBig() function when we encounter files that we can’t seek on and that throw an IO error to prevent scans from crashing. +* Fix: Resolved issue that may have caused wfhits table to grow continuously on some sites. +* Fix: Ensured that runInstall() isn’t called multiple times. +* Fix: Moved register_activation_hook to only be called if the user has a login cookie and has a likelihood of being actually logged in as admin. Performance improvement. +* Fix: Added doEarlyAccessLogging routine to move logging before caching so we can have both. +* Fix: Removed the “update LOW_PRIORITY” sql statement when updating wfHits which was intended to speed up MySQL performance but may have actually caused queries to queue up and slow things down. +* Fix: Whitelisted IP’s are no longer put through two factor authentication as one would expect. +* Fix: Changed our wp_enqueue_script calls to add a ‘wf’ prefix to our script names so that another plugin doesn’t cause our scripts to not load. +* Fix: Removed code that would cause all alerts to be turned on for some users under certain conditions. +* Fix: Automatically excluding backup files and log files from URL scans to reduce false positives on referring URLs in logs and backups. + += 4.0.3 = +* Improvement: Added "high sensitivity" scanning which catches evals with other bad functions but may give false positives. Not enabled by default. +* Fix: Removed code that caused error message during scan initialization. +* Fix: IP to number conversation code had a problem with IP's with a single 0 in them. Bug was introduced in 4.0.2. +* Fix: Very fast attacks would generate a lot of email alerts due to race condition. Fixed. + + += 4.0.2 = +* Feature: Ability to bulk repair or delete files when cleaning a site. +* Feature: You can now limit the number of emails per hour that Wordfence sends. +* Feature: You can now scan image files as if they are executables when cleaning a site. See the option under scanning options. +* Feature: New connectivity test for wp_remote_post to our servers. +* Feature: New detection for backdoors that were previously missed in scans. +* Improvement: Added a link to the Wordfence admin URL for a site when an email alert is received. +* Improvement: Removed "buy premium" message from the alert emails which was causing confusion and irritation. +* Improvement: Improved private address detection by making it faster and adding all private subnets, not just RFC1918 nets. +* Improvement: Switched to wp_remote_get for triggering scans instead of wp_remote_post() +* Improvement: Added some more verbose debugging for scan starts when in debug mode. +* Improvement: No longer include private addresses when checking malware URL's and scanning IP's. +* Improvement: Added code to disable Wordfence if WordPress is installing. +* Fix: Text change because not all "scan" buttons are blue. +* Fix: Removed URL from wfBrowscapCache.php which was causing false positives during scans. +* Fix: Fixed SQL bug that triggered when we logged a vulnerability scan. +* Fix: IP range blocks where a digit is preceded by a '0' char will no longer generate an error. +* Fix: The getIP() routine will no longer use the IP closest to a visitor in network topology if that IP is a private address and behind a proxy. + + += 4.0.1 = +* Real-time WordPress Security Network Launched. +* If another site is attacked and blocks the attacker, your site also blocks the attacker. Shared data among Wordfence sites. +* See our home page on www.wordfence.com for a live map of attacks being blocked. Then blog about us!! +* Fixed bug where wfBrowscapCache.php is reported as malicious. +* Big improvement in scanning speed and efficiency of URL's and IP addresses. +* Fixed preg_replace() warning by using newer preg_replace_callback() func. + + += 3.9.1 = +* Fixed issue that caused Wordfence security to not log 404's. +* Made 404's more visible on the live traffic page. +* Fixed panel width that was too narrow for WP 3.8 on live traffic and issues pages. +* Report hack attempts to Wordfence Security scanning server for DDoS protection. +* Remind admin if security alert email is blank and tour is closed. +* Updated links to new Wordfence Security support website at support.wordfence.com. +* Made Wordfence Security paid-users-only message a little more user friendly. + += 3.8.9 = +* Fix: Fixed issue that caused certain Wordfence Security login functions to not work. Was a PHP 5.4 vs older version incompatability issue. +* Updated GeoIP location database to new version for country blocking. +* Fix: Resolved issue that caused the Issues that Wordfence Security found to not be displayed in some cases. +* Updated Wordfence Security to WordPress 3.8 Compatability. + += 3.8.8 = +* Fix: We now truncate the wfHoover table after scans to save disk space on servers with huge numbers of URLs in files. +* Fix: isStrongPasswd function was being called statically but not declared as static. +* Fix: Improved error reporting when we can't connect to Wordfence Security API servers. +* Fix: Fixed code that was causing an error log warning when we read the requested URL. +* Fix: Disable and clear cellphone sign-in if you downgrade to free from paid to prevent lockouts. + += 3.8.7 = +* Fixed issue that caused cellphone sign-in to not work with PHP version 5.4 or greater. +* Fixed conflict with other plugins that also use the Whois PHP library. +* Fixed an unsanitized user-agent string. +* Added new malware signatures for string rot13 heuristics. +* Updated compatibility to 3.7. + += 3.8.6 = +* Fixed issue that caused scheduled scans to run even if disabled. +* Fixed display bug when signin fails. + += 3.8.5 = +* Fixed issue that caused Human traffic to not be logged in Wordfence Security live traffic view. + += 3.8.4 = +* Removed Wordfence Security .htaccess because it doesn't offer any security functionality and increases incompatibility. +* Fixed spelling errors. +* Added check to see if HTTP_USER_AGENT server variable is defined before using it to suppress large number of warnings on some sites. +* Changed the way we call admin_url to the correct syntax. +* Correctly escaped HTML on error messages. +* Fixed issue that generated non-compliant query string. +* Updated GeoIP database to newest version. + += 3.8.3 = +* Updated GeoIP database for country blocking security. +* Fixed bug in Wordfence Security where we called reverseLookup in wfUtils statically and it's a non-static method. Thanks Juliette. +* Removed characters that are invalid in an IP address or domain from the Whois facility to improve security. +* Prevent users from creating 1 character passwords to improve security. +* Fixed issue that caused an invalid variable to be used in an error message and improved Wordfence Security temporary file implementation for get_ser/ser_ser functions. Thanks R.P. +* Fixed issue that caused IP to output as integer in status msg. Not security related but display issue. +* Declared Wordfence Security reverseLookup function as static to remove warning. +* Fixed returnARr syntax error in Wordfence Security class. +* Note, there is no Wordfence Security version 3.8.2. + += 3.8.1 = +* Added Cellphone Sign-in (Two Factor Authentication) for paid Wordfence Security members. Stop brute-force attacks permanently! See new "Cellphone Sign-in" menu option. +* Added ability to enforce strong passwords using Wordfence Security when accounts are created or users change their password. See Wordfence Security 'options' page under 'Login Security Options'. +* Added new backdoor/malware signatures to Wordfence Security scanning including detection for spamming scripts, youtube spam scripts and a new attack shell. +* Fixed issue: Under some conditions, files not part of core or a known theme or plugin would be excluded from a Wordfence Security scan. +* Fixes from Juliette R. F. Remove warnings for unset variables. Fix options 'save' spinner spinning infinitely on some platforms. Removed redundant error handling code in Wordfence Security. +* Added ability to downgrade a paid Wordfence Security license to free. + += 3.7.2 = +* Fixed issue that caused locked out IP's to not appear, or to appear with incorrect "locked out until" time. + += 3.7.1 = +* Moved global firewall, login security and live traffic options to top of options page. +* Made it clear that if you have Wordfence Security firewall disabled, IP's won't be blocked, country blocking won't work and advanced blocking won't work with warnings on each page. + += 3.6.9 = +* Fixed JS error in Wordfence Security that occurs occasionally when users are viewing Wordfence Security activity log in real-time. +* New Feature: Prevent users registering 'admin' username if it doesn't exist to improve security. Recommended if you've deleted 'admin'. Enable on 'options' page. +* Check if Wordfence Security GeoIP library is already declared for all functions. Fixes Fatal error: Cannot redeclare geoip_country_code_by_name. +* Fixed a Wordfence Security compatibility issue with sites and hosts using Varnish front-end cache to ensure legit users don't get blocked. Added two HTTP no-cache and Expires headers. +* Fixed bug when using Wordfence Security Advanced User-Agent blocking with certain patterns this would appear: Warning: preg_match() [function.preg-match]: Unknown modifier +* Vastly improved speed of Wordfence Security Advanced User-Agent blocking security feature. No longer using regex but still support wildcards using fnmatch() +* We now support usernames with spaces in the list of users to ignore in the live traffic config on 'options' page. +* Improved language in status messages to avoid confusion. Changed "unrecognized files" to "additional files" to describe non-core/theme/plugin files. + += 3.6.8 = +* Fixed bug in Wordfence Security that caused IP range blocking to not block. +* Fixed bug that caused unblocking a permanently blocked IP to work, but not refresh the list. +* Added usernames to the email you receive when a user is locked out. +* Added a few more status messages for Wordfence Security URL malware scanning. +* Removed the sockets function call from connection testing because some hosts don't allow calls to socket_create() +* Added detection in the Wordfence Security Whois page to check if the server has the fsockopen() function available with helpful message if it's disabled. +* Whitelisted IP's now override Wordfence Security country blocking and range blocking. +* Removed Bluehost affiliate links for free customers +* Fixed issue that caused scans to crash when checking URLs for malware. +* Fixed issue that caused scans with large numbers of posts that contain the same URL to crash. +* Updated the Wordfence Security GeoIP database for country blocking to newest version. + += 3.6.7 = +* Improved security for Cloudflare customers to prevent spoofing attacks and protect when a hacker bypasses Cloudflare proxies. +* Added clear explanation of what increasing AJAX polling time does on options page. +* Fixed issue with Wordfence Security detecting itself as malware. We messed up the version number in previous release. + += 3.6.6 = +* Added option to change AJAX polling frequency +* Fixed issue that caused whitelisted IP's to not be whitelisted. +* Added code that prevents blocking of Wordfence's API server (or Wordfence Security will cease to function) +* Added link at bottom of 'options' page to test connectivity to our API servers. +* Include any CURL error numbers in error reporting. +* Fixed issue that caused IP range blocking to not block access to login page. +* Fixed issue that caused cache files to be flagged as malicious. + += 3.6.5 = +* Fixed Fatal error: func_get_args(): Can't be used as a function parameter. +* This bug affected users using PHP older than 5.3.0 + += 3.6.4 = +* Fixed a major javascript bug that snuck in 2 releases ago and has disabled many features for Internet Explorer browsers. +* Clarified range blocking examples. + += 3.6.3 = +* Fixed 'max_user_connections' issue. +* Wordfence Security now uses WordPress's WPDB and this halves the number of DB connections Wordfence Security establishes to your DB. +* Wordfence Security is now HyperDB compatible. +* Advanced blocking i.e. Browser and IP Range blocking is now a free feature. +* We no longer disable Live Traffic if we detect a caching plugin. Based on user feedback, apparently live traffic actually works with those plugins. +* Fixed issue that causes site to crash if a conflicting GeoIP library is installed. +* Changed logHuman routine to do a LOW_PRIORITY MySQL update to speed things up. +* Login failure counter is now reset if you send yourself an unlock email so you're not locked out again after 1 failure. +* The free version of Wordfence Security is now supported with ads at the top of the admin pages. Please visit our sponsors and help keep Wordfence Security free! +* Fixed issue that may cause scans to not be scheduled using the default schedule for new users. +* There was no 3.6.2 release, in case you're wondering about the version skip. + += 3.6.1 = +* Major new release that includes the much asked for IP Range blocking with ISP blocking ability and browser blocking. +* Added Wordfence Security feature: WHOIS for IP's and Domains. Supports all registries and local rWhois +* Added Wordfence Security feature: Advanced Blocking to block IP ranges and browser patterns. +* Added Wordfence Security feature: WHOIS on live traffic pages. +* Added Wordfence Security feature: network blocking links on live traffic pages. +* Fixed bug where W3 Total Cache and WP Super Cache cache blocked Wordfence Security pages. +* Added explanation of how caching affects live traffic logging if we detect a caching plugin. +* Fixed AJAX loading to deal with multiple parallel ajax requests. +* Updated tour to include info on new WHOIS and Advanced Blocking features. +* Changed manual IP blocks to be permanent by default. +* Fixed issue in Wordfence Security that caused live traffic page not to reload when IP is unblocked. +* Modified "How does your site get IP's" config to avoid confusing new users. +* Changed 503 block message to be more helpful with link to FAQ on how to unblock. +* Removed redundant code in wfAPI.php +* Optimized code by moving firewall specific code to execute only if firewall is enabled. +* Fixed issue that caused "last attempted access" to show over 500 months ago. +* Fixed issue that was causing warning in getIP() code. +* Upgraded to Wordfence Security API version 2.6. + += 3.5.3 = +* This is the dev version. Stable is 3.5.2. +* Added detection for "hacked by badi" hack. Check if wp_options has been changed to UTF-7. + += 3.5.2 = +* IP detection is now much more robust. Admins must specify how their site gets IP addresses. +* Fixed issue that would throw Ajax ticker into a hard loop and put load on a server if user is on "options" page and WF can't detect IPs. +* Added support for Cloudflare proxies when getting client's real IP address. +* If we fail to get an IP and then get an IP succesfully, we update the activity log. +* Activity log update in case of successful IP acquisition will warn if we're getting internal RFC1918 IP's e.g. the IP of your firewall. + += 3.5.1 = +* Fixed issue with twentyten, twentyeleven, twentytwelve themes showing up as modified in 3.5. +* Fixed issue with wpdb->prepare throwing warnings. WordPress changed their code and we have now caught up. +* Fixed issue of files containing "silence is golden" showing up as being changed with no executable content. + += 3.4.5 = +* Fixed security issue of being able to list wordfence Security's own virtual dir on some server configurations. +* Fixed issue of WF using deprecated function which caused warnings or errors on install. +* Added link to security alert mailing list on "Scan" page next to manual start scan button and in tour. + += 3.4.4 = +* Fixed issue that caused scans to not complete. +* Fixed issue that caused scans to launch a large number of child processes due to very short scan timeout. +* Fixed issue that caused websites that don't know their own hostname to not be able to scan. +* Added workaround for a bug in Better WP Security breaking Wordfence Security due to their code overwriting the WP version. +* Optimized the way we calculate max execution time for each process while scanning. + += 3.4.1 = +* Removed wfscan.php script and now using pseudo-ajax calls to fire off scans. Much more reliable. +* Removed visitor.php script and now using pseudo-ajax calls to log human visits. +* Added config option to allow admin to specify max execution time (advanced only!!). +* Fixed issue that caused API calls to fail on MultiSite installs. +* Fixed issue that caused comments to break on MultiSite installs under certain conditions. +* Fixed issue that caused incorrect domain to be shown in live traffic view on multi-site installs. +* Fixed issue where some proxies/firewalls send space delimited IP addresses in HTTP headers and Wordfence Security now handles that. +* Fixed issue that caused Wordfence Security to capture activation errors of other plugins. +* Geo IP database update to November 7th edition. + += 3.3.7 = +* Upgrade immediately. Fixes possible XSS vulnerability in Wordfence Security "firewall unlock" form. +* Also added rate limiting to max of 10 requests per second to the unlock form. + += 3.3.5 = +* Re-releasing to try and fix an issue with the WordPress plugin distro system. + += 3.3.4 = +* Fixed bug that caused malformed URLs to be sent to scanning server which caused errors on some installations. +* Fixed issue that caused scans to "hang" or stall on larger sites during "Analyzing" phase when we hash files. Sites of arbitrary size can now be scanned. +* Fixed issue that caused "plugin generated X characters of unexpected output" error during install or upgrade. + += 3.3.3 = +* Fixed errors caused by ini_set being disabled on certain servers. +* Removed error logging messages in certain cases because some badly configured hosts write these errors to the web browser. +* Fixed getIP code that was evaluating arrays as strings in some cases. +* Added error logging so that if there is an activation error, the Wordfence Security will display the actual error to you. +* Fixed issue that caused scan to output "Could not get the administrator's user ID." when a user has changed their table prefixes under certain conditions. + += 3.3.2 = +* A complete rearchitecture of Wordfence Security scanning to massively improve performance. +* Our free customers are now 100% back in business. Apologies for the delay, but this was worth the wait. +* Wordfence Security is now 4X faster for both free and paid customers. +* Significantly reduced CPU and memory overhead. +* Significantly reduced network througput when communicating with Wordfence Security scanning servers. +* Big performance improvement on our own scanning servers which allows us to continue to provide Wordfence Security free for the forseeable future. +* Upgraded scanning API to version 2.4 +* Upgraded Geo IP database to October version. +* Moved core, theme, plugin and malware scanning into hashing recursive routine for big performance gain. +* Removed need for fileQ in hashing routine for reduction in memory usage and reduction in DB write size. +* Removed send-packet architecture and now processing files locally by fetching comparison data from scanning server instead. +* Removed wfModTracker - old module that is no longer used. +* Malware is now scanned by fetching hash prefixes from WF server instead of sending hashes of every file to our server. Much more efficient. +* Made status messages in summary console a little more user friendly. + += 3.2.7 = +* Fixed dates and times in activity log alert emails and other emails to be in site's local timezone. +* Added advanced country blocking options which allow bypass if a special URL is hit. +* Added warning in options page if alert email is not configured under alert checkboxes. +* Modified scan times to be within 60 minute window after scheduled time to prevent stampede at the top of the hour on our scanning server. +* Fixed bug on Godaddy and a few other hosts where viewing list of files not in the repo caused error. This was caused by posix functions not being supported on Godaddy and some other hosts. + += 3.2.6 = +* Paid feature: Remote site vulnerability and infection scanning. + += 3.2.5 = +* Moved all attack signatures out of the plugin to prevent Wordfence Security being detected as malicious in a false positive. + += 3.2.4 = +* Improved country blocking to make bulk adding/deleting of countries much easier. +* Fixed bug that caused Google feed fetcher and other Google UA bots to get blocked if blocking of unverified Googlebots was enabled. +* Fixed issue where Locked out users were shown having the same expiry time as Blocked IP's. +* Fixed issue where Locked out users were not shown in the locked out list, but were still locked out if Blocked IP and Locked out expiry was different. +* Improved performance of whitelisting so if whitelisted, all rules are bypassed. +* Fixed issue that caused twentyten and twentyeleven themes to be shown as missing core files if they have been removed and theme scanning is enabled. +* Fixed issue that made it impossible to end the tour for Firefox users. + += 3.2.1 = +* Theme and plugin scanning is now free. Woohoo! +* Added introductory tour for Wordfence Security. +* Upgraded to Wordfence Security scanning API version 2.0 to allow free theme and plugin scanning. +* Fixed two issue with scheduled scanning for premium users that would cause scans to not run or run at wrong times under certain conditions. +* Added feature to view unknown files on system to help clean badly infected systems. See on scanning page in "Tools" under yellow box. +* Fixed blocked countries overflowing their container in the user interface. +* Fixed case where if user is using MySQL >= 5.1.16 and doesn't have the "drop" privilege, they can't truncate the wfFileQueue table and it could grow uncontrollably. +* Updated to the new Libyan flag. +* Fixed mysql_ping() reconnection to DB generating warnings. +* Fixed issue that caused scans to hang. Wordfence Security now processes smaller batches of files before checking if it needs to fork. +* NOTE: We removed a list of shells we're scanning for because they were yielding false positives on some host scanning software. +* DNS fix from previous release backed out because it's no longer needed. (We temporarily hardcoded an IP) + += 3.1.6 = +* Emergency release to deal with DNS issue. + += 3.1.4 = +* Fixed SQL error in code that checks if IP blockedTime has expired. Changed column type to signed. +* Added detection of malicious injected titles with scripts or meta redirects. +* Fixed bug introduced in previous release that prevents blocked IP's from being blocked. + += 3.1.2 = +* Fixed permanent IP blocking bug which caused permanently blocked IP's to no longer display in the list after some time, even though there were still blocked. (Incorrect SQL query) +* Fixed "Can't get admin ID" on scan starts for both MU and single site installs. +* Improved status messages for sites with very large numbers of comments. +* Fixed bug that caused sites in subdirectories to not be able to view site config or run the memory test on the Wordfence Security "options" page. +* Fixed database disconnect bug (mysql server has gone away). An additional fix was required to finally squash this bug. +* Removed the code that prevented you from installing Wordfence Security on Windows. Sorry Windows customers! +* Improved scheduling so that it is now more reliable. +* Fixed bug that caused a loop for customers who could not contact the Wordfence Security servers on install. +* Added helpful message if you get the "can't connect to itself" error message with some additional documentation to help solve this issue. +* Improved error reporting when Wordfence Security can't connect to the scanning servers. Now features a helpful explanation rather than a generic message. +* Added Country Geo-Blocking feature for paid customers. +* Added Scan Scheduling feature for paid customers. + += 3.1.1 = +* Added another fix for "mysql server has gone away" error. Wordfence Security now makes sure the DB is still connected and reconnects if not. +* Added new detection for encoded malicious code in files. +* Fixed bug introduced yesterday that prevented permanent blocking of IP's. +* Improved ability to detect if we're running on Windows (but we don't support Windows yet). +* Issue intelligent warning if Wordfence Security can't read base WordPress directory. +* Don't activate Wordfence Security if user is running Windows. +* Cleaned up errors if a file can't be scanned due to permission restrictions. +* Improved reporting of which user scan is running as and how we determined who the admin user is. + += 3.1.0 = +* Changed the way we monitor disk space from % to warning on 20 megs and critical on 5 megs remaining. This deals with very large disks in a more rational way. (Thanks Yael M. and Ola A.) +* We now deal with cases where the $_SERVER variable contains an array instead of string for IP address. It seems that some installations modify the value into an array. (Thanks S.S.) +* The Wordfence Security DB connection now more reliably changes the mysql timeout for the session to prevent "mysql server has gone away" errors. (Thanks Peter A.) + += 3.0.9 = +* Fixed problem where scan process can't get admin ID. +* Fixed issue that caused permanent IP's to not be permanent. +* Fixed SQL error when calculating if IP block has expired. +* Fixed incorrect calling of is_404 that caused intermittent issues. +* Fixed basedir warnings when scan tries to scan files it does not have access to. +* Fixed warning and incorrect calculation of rows in DB. +* Added ability to get IP from "HTTP_X_REAL_IP" header of a front-end proxy is sending it. +* Fixed warning about HTTPS element not existing in getRequestedURL() +* Fixed problem with paid vs free keys getting confused. +* Fixed error with fetching vulnerability patterns. + += 3.0.8 = +* Fixed bug that caused "Could not get the administrator’s user ID. Scan can’t continue." + += 3.0.7 = +* Fixed bug that caused scan to loop, stop halfway or not start for many sites. +* Fix bug that caused scan to not start on sites with thousands (over 20,000 in one case) users. +* Scan start is now faster for sites with large numbers of users. +* Fix bug that caused scan to get killed when checking passwords on sites with thousands of users. +* Wordfence Security now intelligently determines how to do a loopback request to kick off a scan. +* Scan is no longer called with a cron key in HTTP header but uses a query string value to authenticate itself which is more reliable. + += 3.0.6 = +* Improved malware and phishing URL detection. +* Upgraded to Wordfence Security API version 1.9 +* Fixed issue that caused large files to slow or crash a scan. +* Added workaround for PHP's broken filesize() function on 32 bit systems. +* Added an improved test mode for URL scanner for better unit testing on our end. +* Suppressed warnings issued when a reverse DNS lookup fails. +* Added improved debug output to becomeAdmin() function in scans to help diagnose scans not starting. + += 3.0.5 = +* Fixed "The key used to start a scan has expired." error and added data to help diagnose future issues like this. +* Removed HTTPHeaders from wfHits table which was using a lot of disk space and not used much. +* Removed limiting wfHits table size because it was unreliable. +* We're now limiting wfHits to 20,000 rows and the rows are much smaller. About 2 to 8 megs. +* Fixed bug that could have caused install routine to run repeatedly. +* Fixed typo bug in blocking code that didn't have any impact but was sloppy. +* Changed wfscan.php message when accessed directly to be more helpful. + += 3.0.4 = +* Detects if the Wordfence Security app (not scanner) is short on memory and requests more +* Fixes an issue where scan breaks if all scanning options are disabled + += 3.0.3 = +* Issue that caused all core files to show as missing has been fixed. +* We now handle all API server errors gracefully using exceptions. +* If your installation didn't activate correctly you now get a friendly message. +* Removed unused menu_config.php code. +* The 503 message now tells you why your access to the site has been limited so that admin's can tune firewall rules better. +* We no longer reuse the WordPress wpdb handle because we get better stability with our own connection. + += 3.0.2 = +* Overall this release is a very important upgrade. It drastically reduces memory usage on systems with large files from hundreds of megs to around 8 megs max memory used per scan. +* Moved queue of files that get processed to a new DB table to save memory. +* Reduced max size of tables before we truncate to avoid long DB queries. +* Reduced max size of wfStatus table from 100,000 rows to 1,000 rows. +* Introduced feature to kill hung or crashed scans reliably. +* Made scan locking much more reliable to avoid multiple concurrent scans hogging resources. +* Debug status messages are no longer written to the DB in non-debug mode. +* Modified the list of unknown files we receive back from the WF scanning servers to be a packed string rather than an array which is more memory efficient. +* Added summary at the end of scans to show the peak memory that Wordfence Security used along with server peak memory. +* Hashes are now progressively sent to Wordfence Security servers during scan to drastically reduce memory usage. +* Upgraded to Wordfence Security server API version 1.8 +* List of hosts that Wordfence Security URL scanner compiles now uses wfArray which is a very memory efficient packed binary structure. +* Writes that WF URL scanner makes to the DB are now batched into bulk inserts to reduce load on DB. +* Fixed bug in wfscan.php (scanning script) that could have caused scans to loop or pick up old data. +* Massively reduced the number of status messages we log, but kept very verbose logging for debug mode with a warning about DB load. +* Added summary messages instead of individual file scanning status messages which show files scanned and scan rate. +* Removed bin2hex and hex2bin conversions for scanning data which were slow, memory heavy and unneeded. +* Wordfence Security database class will now reuse the WordPress database handle from $wpdb if it can to reduce DB connections. + += 2.1.5 = +* Fixed bug that caused WF to not work when certain DB caching plugins are used and override wpdb object. +* Fixed Wordfence Security so activity log only shows our own errors unless in debug mode. +* Wordfence Security now deletes all it's tables and deletes all saved options when you deactivate the plugin. +* Removed all exit() on error statements. Critical errors are handled more gracefully by writing to the log instead. +* Fixed a bug that would cause a database loop until running out of memory under certain error conditions. +* Suppressed useless warnings that occur in environments with basedir set or where functions are disabled for security reasons. +* Removed redundant check that executed on every request and put it in activation instead. +* If serialization during scan breaks, exit gracefully instead of looping. +* Disk space in log is now shown as Gigabytes and formatted nicely. +* Removed wdie() function which is a little obnoxious. Writing to WF error log instead. +* Fixed bug where a non-empty but useless HTTP header can break getIP() function. +* Added useful data to error output if getIP() tells you it can't work on your system. +* Removed option to start scan in debug because it's no longer possible with a forked scan. +* Removed option to test process running time on a system because it breaks on most systems and confuses customers. +* Database connection errors no longer call die() but log an error instead in a way that removes the risk of a logging loop. +* Removed dropAll.php script because we now clean up tables on deactivate and it's not needed. +* Updated readme to show that we support 3.4. + += 2.1.4 = +* Fixed registered users not appearing in live traffic. +* Fixed temp file deletion bug that caused warnings and loops. +* Fixed issue that caused warning about WORDFENCE_VERSION +* Fixed Wordfence Security admin area not working under SSL +* Fixed bug that caused IP addresses of clients to be misinterpreted if there are multiple addresses from chained proxies. +* Now stripping port numbers from IP's which we weren't doing before. +* Added check for validity of IP's and report fatal error if it fails because this could lock users out. +* Improved error reporting including fixing an out of memory error when a specific error condition arose in wfConfig::set() +* Changed order of tmp dirs to be wordfence/lib protected dir first and then system temp dir. Added uploads as tmp dir for last resort. +* Malware URL's are now marked in red in alerts so it's obvious what the offending URL in a file is. + += 2.1.3 = +* Added fix for hosts that have max_allowed_packet set too small. We will write a temp file to disk instead if possible. +* Increased size of status column to 1000 chars + += 2.1.2 = +* Fixed issue with scan scheduling that caused a loop +* Fixed issue that caused version constant to not be included in scans + += 2.1.1 = +* Added ability to permanently block IP's +* Added ability to manually block IP's +* Made Wordfence Security more memory efficient, particularly the forking process. +* Fixed issue that caused WF to not work on databases with blank passwords. +* Wordfence Security now stops execution of a DB connection error is encountered. +* Clear cron jobs if Wordfence Security is uninstalled. +* Enabled hourly cron for Wordfence security network. +* Wordfence Security now works if your server doesn't have openssl installed +* Wordfence Security now works even if you don't have CURL +* Fixed visitor logging so it works with HTTPS websites. +* Alert emails now contain filenames in each alert description. +* Users with weak passwords alerts now contain the username in the email. +* Upgraded API to 1.7. +* Fixed issue that caused DISALLOW_FILE_MODS to make WF menu disappear. +* Modified wfDB to deal with very large queries without exceeding max_allowed_packet +* Fixed issue that broke ability to see file changes and repair files in security scan results. + += 2.1.0 = +* Fixed scans hanging on Dreamhost and other hosts. +* Made Wordfence Security more memory efficient. +* Wordfence Security scans are now broken into steps so we can scan a huge number of files, posts and comments. +* Alert emails now include IP address, hostname lookup and geographic location (city if available). +* Improved security scan locking. No longer time based but uses flock() if on unix or time on Windows. +* Suppressed warnings that WF was generating. +* Improve handling of non-standard wp-content directories. +* Fix restored files were still showing as changed if they contained international characters. +* Improve permission denied message if attempting to repair a file. +* Fixed problem that caused scans to not start because some hosts take too long to look up their own name. +* Fixed issue with Wordfence Security menu that caused it to not appear or conflict with other menus under certain conditions. +* Upgraded to security API version 1.6 +* Improved geo lookup code for IP's to improve security. +* Fixed debug mode output in live status box - coloring was wrong. +* Added ajax status message to WF admin pages. +* Fixed colorbox popup so that it doesn't jump around on refresh. + += 2.0.7 = +* Fixed CSS bug that changed plugins page layout in admin area +* Added memory benchmark utility. +* Added process runtime benchmark utility. +* Added ability to security scan in debug mode which accesses the scan app directly. + += 2.0.6 = +* Added IP whitelisting including ability to whitelist ranges that are excluded from firewall and login security measures. +* RFC1918 private networks and loopback address is automatically whitelisted to prevent firewall or login security blocking internal routers and proxy servers, internal firewalls and internal users. +* Added WORDFENCE_VERSION constant to improve version lookup performance. +* Fixed issue that caused security scans to not start and humans to not be logged in live traffic. Wordfence Security makes security scan script and visitors script executable on install or upgrade now. +* Fixed bug that caused disk space scanning to still show an issue found in security scan summary even when user chooses to ignore the security issue. +* Made disk space thresholds 1 and 1.5% space remaining because many hosts have very large disks where 1% is gigabytes. +* Made wordfence Security database handle cache deal with concurrent connections to different databases. +* Improved Wordfence Security database library's error reporting. +* Improved performance when Wordfence Security looks up it's own version during security scans and other operations. +* Removed three rules in base wordfence Security htaccess that could cause 500 errors on servers that don't allow these options to be overridden. Does not affect htaccess security because we inherit the base htaccess and still protect our lib/ directory with our own htaccess. + += 2.0.5 = +* If your plugin PHP files are viewable by the world, we now give you a detailed warning on the seriousness of this security threat with ability to view the offending .htaccess files. +* Added a debug mode in options for very verbose logging and marking errors in red. +* Added more logging for the process that starts the security scan. +* Ability to securely view the entire activity log added. +* Using plugin version in all CSS URL's instead of API version. +* Activity log microtime is more accurate now. +* Fixed bug that would cause security scanning of PHP files with base64 content to stop. + += 2.0.4 = +* Now security scanning all comments, posts and pages on multi-site installation for malware and phishing URL's. Significant security enhancement. +* Improved messages on multisite when a bad comment or post is found. +* Fixed bug that caused paid users to not be able to activate their premium key. +* Made upgrade process much friendlier. +* Got rid of GeSHi syntax highlighting because it segfaults and is resource intensive. Using built in PHP highlighting instead. +* Message asking you to configure an alert email address only appears for 3 pageviews after plugin activation so it's less irritating. +* Fixed bug for MU users that caused WF to tell you that your WF schema is missing and you need to reactivate. +* Fixed bug that caused malware URL security scanner to not work for MU users. + += 2.0.3 = +* Removed unbuffered queries and switched to conventional queries that are memory efficient for better stability. +* Made security scanning large numbers of URL's contained in things like awstats log files extremely memory efficient and way faster. +* Removed alerts about unknown files in core directory if they belong to an older wordpress version and are unchanged. +* Other performance improvements like using strpos instead of strstr. +* Moved "scan files outside base dir" option to be in correct place on config page. + += 2.0.2 = +* Fixed plugin upgrades so that css and scripts are not cached across versions. + += 2.0.1 = +* Improved security scanning for specific attacks being used in the PHP-CGI vulnerability ( CVE-2012-1823) +* API keys no longer required. WF fetches a temporary anonymous API key for you on activation. +* Added real-time activity log on scan page. +* Added real-time summary updates on scan page. +* Fixed ability to view files that have symlinks in path. +* Added message to configure alert email address for multi-site and single site installs on activation. +* Disabled firewall security rules by default because most sites don't need them. +* Disabled blocking of fake googlebots except for high security levels to prevent users who like to pretend they're googlebot from blocking themselves. +* Geshi the syntax highlighter now asks for more memory before running. +* Fixed bug that caused scan to hang on very large files. +* Added an index to wfStatus to make it faster for summary statuses +* Removed multisite pre-activation check to make activation more reliable on multisite installs. +* Better problem reporting if you trashed your Wordfence Security schema but the plugin is still installed. + += 1.5.6 = +* Removed use of nonces and purely using 30 minute key for unlocking emails. +* Fixed bug that caused admin emails to not get emailed when requesting unlocking email. +* Fixed minor issue with undefined array in issues loop. + += 1.5.5 = +* Added ability for admin's to unlock login and unblock their IP addresses if they're accidentally locked out by the firewall or login security. Uses two security tokens to prevent abuse. +* Admins can now also disable firewall and login security from the unlock-me email, just in case of emergency. +* Made advanced security options visible so you know they exist. +* Fixed dns_get_record() function not existing bug on Windows sytems pre PHP 5.3.0. Was causing scans to hang. +* Increased login lockout defaults to be much higher which still protects against brute force hacks. +* Removed CURLOPT_MAXREDIRS in curl to avoid safe mode warnings. +* Fixed ability to view and diff files on blogs installed in subdirectories. +* Fixed ability to see individual IP hits on subdir sites. +* Plugin and theme update messages now include links to the upgrade page. +* Removed the link on the login form that mentions the site is protected by Wordfence Security. +* Changed lockout defaults to be much higher. +* Added options for higher number of failures before lockout in options page for configurable login security. +* Now including plugin version in the activity log when the admin chooses to email it to us for debugging. + += 1.5.4 = +* Admin can now select to scan outside the WordPress base dir and standard WordPress directories. +* Max memory size for scans is now configurable for larger installations. 256M is the default. +* Changed maximum scan time to 10 minutes. + += 1.5.3 = +* A harmless cosmetic error was being thrown up when some security scans started. Fixed that. + += 1.5.2 = +* Changed max scan time to 30 mins. + += 1.5.1 = +* Fixed a bug that caused scans to crash when permissions don't allow a directory to be read. + += 1.4.8 = +* WP repo didn't deploy the zip file correctly so recreating the version tag. + += 1.4.7 = +* Vastly improved error logging including catching fatal PHP errors and logging them to status log. +* Fixed accidental preg_replace variable interpolation. +* Syntax fixes (various) + += 1.4.6 = +* Increased memory available to Wordfence Security to 256M during security scans, configurable in wordfenceConstants.php +* Improved memory logging during security scans. Current memory usage is now shown on the far right of filenames while scans occur. + += 1.4.5 = +* Bugfix - fixed bug that caused Wordfence Security menu to dissapear. + += 1.4.4 = +* WordPress Multi-site support added. Currently in Beta. Tested with subdomains, not subdirectories, but it should work great on both. +* Main changes are moving menus to the Network Admin area, preventing individual blogs from enabling the plugin and dealing with database prefix issues. + += 1.4.3 = +* Improved diagnistic information on binary and regular API calls for better debugging. +* Changed ticker to only show activity with level < 3 + += 1.4.2 = +* Email to send security alerts to is now configured at the same time an API key is entered. +* phpinfo is emailed along with activity log when user requests to send us activity log so that we can see things like PHP max execution time and other relevant data +* Now writing individual files to activity log during security scans for better diagnostics. +* Login security message. +* Updated readme.txt FAQ and description. +* Fixed bug where sites with self signed SSL security certificate never start scan because cert fails security check. +* Increased API curl timeout to 300 for slower hosts that seem affected during URL security scans. + += 1.4.1 = +* This is a major release of Wordfence Security, please upgrade immediately. +* Only scan files in the WordPress ABSPATH root directory and known WordPress subdirectories. Prevents potentially massive scans on hosts that have large dirs off their wordpress root. +* Don't generate plain SHA hashes anymore because we don't currently use them on the server side for scanning. (Still generates md5's and SHAC) +* No longer do change tracking on files before scans because the change tracking does almost the same amount of work when generating hashes as the actual scan. So just do the scan, which is now faster. +* Updated internal version to 1.2 to use new code on the server side which sends back a list of unknown files rather than known files, which is usually smaller and more network efficient. +* Improved logging in activity log. +* Removed SSL peer verification because some hosts have bad cert config. Connection to our servers is still via SSL to enhance security. +* Fixed a few minor issues. Overall you should notice that scans are much faster now. + += 1.3.3 = +* Made real-time server polling more efficient. +* Entering your API key now automatically starts your first scan. Was causing some confusion. + += 1.3.2 = +* Reduced the number of database connections that Wordfence Security makes to one. +* Modified the memory efficient unbuffered queries we use to only use a single DB connection. +* Removed status updates during post and comment scans which prevents interference with unbuffered queries and makes the scans even faster. + += 1.3.1 = +* Fixed a bug where if you have the plugin "secure-wordpress" installed, you can't do a Wordfence Security scan because it says you have the wrong version. This is because secure-wordpress trashes the $wp_version global variable to hide your version rather than using the filters provided by WordPress. So coded a workaround so that your Wordfence Security scans will work with that plugin installed. + += 1.3 = +* Minor fix to point to the correct binary API URL on the Wordfence Security cloud servers. + += 1.2 = +* It is now free to get a Wordfence Security API key. +* Premium keys include theme and plugin file security verification which consumes resources on the Wordfence Security servers. +* Various bugfixes and performance enhancements. + += 1.1 = +* Initial public release of Wordfence Security Plugin. + +== Upgrade Notice == += 3.1.1 = +Upgrade immediately. Fixes bug introduced in last release that broke permenent IP blocking. + += 3.0.9 = +Upgrade immediately. Fixes two security critical bugs: Could not get admin ID bug and permanent IP blocks not staying permanent. + += 3.0.6 = +Upgrade immediately. Improves malware URL detection by 20% or more to improve security. + += 3.0.3 = +Upgrade immediately. This release fixes an issue that caused Wordfence Security to show all your core files +missing under certain conditions. It was usually caused by high load on our scanning server and the +plugin not handling an error condition halfway through the scan correctly. + += 3.0.2 = +Upgrade immediately. This release drastically reduces memory, reduces new DB connections created by +Wordfence Security to zero (we simply reuse the WordPress DB handle), reduces the number of DB queries to +about 1% of the previous version by removing unneeded status messages and fixes a bug that +could cause Wordfence Security to launch multiple concurrent scans that can put high load on your system. +This is a critical release. Upgrade immediately. diff --git a/wp-content/plugins/wordfence/tmp/.htaccess b/wp-content/plugins/wordfence/tmp/.htaccess new file mode 100644 index 0000000..c9c4d1b --- /dev/null +++ b/wp-content/plugins/wordfence/tmp/.htaccess @@ -0,0 +1,2 @@ +deny from all + diff --git a/wp-content/plugins/wordfence/tmp/configCache.php b/wp-content/plugins/wordfence/tmp/configCache.php new file mode 100644 index 0000000..d87a526 --- /dev/null +++ b/wp-content/plugins/wordfence/tmp/configCache.php @@ -0,0 +1,4 @@ +a:22:{s:9:"cacheType";s:0:"";s:15:"firewallEnabled";s:1:"1";s:6:"apiKey";s:192:"9a57151a642820cab102741d5a92a91e788dc8d15823e8de2acf65c38ee9122d12d031e407fd6e07063ef5a2450379e96e3fc6d3152957ba67a0b99301da91a13a54962479db212e15db85e28ed9225d7b221f9ee3de6af39d16e984ebdd4fb4";s:9:"howGetIPs";s:0:"";s:9:"IPGetFail";s:0:"";s:11:"whitelisted";s:0:"";s:13:"cbl_countries";s:0:"";s:18:"cbl_bypassRedirURL";s:0:"";s:17:"cbl_bypassViewURL";s:0:"";s:11:"blockedTime";s:3:"300";s:18:"liveTrafficEnabled";s:1:"1";s:14:"disableCookies";s:1:"0";s:10:"tourClosed";s:1:"1";s:10:"autoUpdate";s:1:"0";s:16:"autoUpdateChoice";s:1:"1";s:11:"alertEmails";s:21:"dev@gaslightmedia.com";s:17:"actUpdateInterval";s:0:"";s:7:"debugOn";s:1:"0";s:25:"liveTraf_ignorePublishers";s:1:"1";s:19:"other_hideWPVersion";s:1:"1";s:24:"other_pwStrengthOnUpdate";s:1:"1";s:22:"loginSec_strongPasswds";s:4:"pubs";} \ No newline at end of file diff --git a/wp-content/plugins/wordfence/wordfence.php b/wp-content/plugins/wordfence/wordfence.php new file mode 100644 index 0000000..d2c12b6 --- /dev/null +++ b/wp-content/plugins/wordfence/wordfence.php @@ -0,0 +1,28 @@ + -- 2.17.1