From f102bd46b97adc9b051fdd723f6f904e5d8ba15c Mon Sep 17 00:00:00 2001 From: Steve Sutton Date: Tue, 9 Sep 2014 16:30:20 -0400 Subject: [PATCH] Add plugins for access control add style changes --- .../plugins/advanced-access-manager/aam.php | 1236 +++++++ .../advanced-access-manager/active-menu.png | Bin 0 -> 3673 bytes .../application/control/object.php | 150 + .../application/control/object/capability.php | 96 + .../application/control/object/event.php | 71 + .../application/control/object/menu.php | 166 + .../application/control/object/metabox.php | 1 + .../application/control/object/post.php | 338 ++ .../application/control/object/term.php | 222 ++ .../application/control/subject.php | 468 +++ .../application/control/subject/role.php | 289 ++ .../application/control/subject/user.php | 395 +++ .../application/control/subject/visitor.php | 201 ++ .../application/core/api.php | 215 ++ .../application/core/configpress.php | 164 + .../application/core/console.php | 71 + .../application/core/extension.php | 89 + .../application/core/repository.php | 393 +++ .../application/core/request.php | 110 + .../application/core/settings.php | 89 + .../application/core/update.php | 147 + .../application/view/abstract.php | 148 + .../application/view/capability.php | 225 ++ .../application/view/collection.php | 285 ++ .../application/view/configpress.php | 30 + .../application/view/event.php | 83 + .../application/view/extension.php | 115 + .../application/view/help.php | 51 + .../application/view/manager.php | 873 +++++ .../application/view/menu.php | 150 + .../application/view/metabox.php | 303 ++ .../application/view/post.php | 549 +++ .../application/view/role.php | 140 + .../application/view/tmpl/capability.phtml | 84 + .../application/view/tmpl/configpress.phtml | 161 + .../application/view/tmpl/control_area.phtml | 242 ++ .../application/view/tmpl/event.phtml | 109 + .../application/view/tmpl/extension.phtml | 234 ++ .../view/tmpl/help_developers.phtml | 29 + .../view/tmpl/help_extensions.phtml | 16 + .../application/view/tmpl/help_faq.phtml | 38 + .../application/view/tmpl/help_overview.phtml | 48 + .../application/view/tmpl/manager.phtml | 111 + .../application/view/tmpl/menu.phtml | 76 + .../application/view/tmpl/metabox.phtml | 21 + .../application/view/tmpl/post.phtml | 57 + .../application/view/tmpl/role.phtml | 61 + .../application/view/tmpl/user.phtml | 42 + .../application/view/tmpl/visitor.phtml | 12 + .../application/view/user.php | 156 + .../application/view/visitor.php | 32 + .../advanced-access-manager/config.php | 68 + .../extension/AAM_Activity_Log/activity.css | 46 + .../extension/AAM_Activity_Log/activity.js | 185 + .../extension/AAM_Activity_Log/activity.php | 214 ++ .../extension/AAM_Activity_Log/extension.php | 279 ++ .../AAM_Activity_Log/images/info-active.png | Bin 0 -> 342 bytes .../AAM_Activity_Log/images/info.png | Bin 0 -> 342 bytes .../AAM_Activity_Log/images/trash-active.png | Bin 0 -> 529 bytes .../AAM_Activity_Log/images/trash.png | Bin 0 -> 524 bytes .../extension/AAM_Activity_Log/index.php | 15 + .../extension/AAM_Activity_Log/ui.phtml | 33 + .../AAM_Multisite_Support/extension.php | 253 ++ .../images/add-active.png | Bin 0 -> 3185 bytes .../AAM_Multisite_Support/images/add.png | Bin 0 -> 3191 bytes .../images/edit-active.png | Bin 0 -> 3219 bytes .../AAM_Multisite_Support/images/edit.png | Bin 0 -> 3298 bytes .../images/manage-active.png | Bin 0 -> 3197 bytes .../AAM_Multisite_Support/images/manage.png | Bin 0 -> 3141 bytes .../images/multisite-active.png | Bin 0 -> 3453 bytes .../images/multisite.png | Bin 0 -> 1050 bytes .../images/pin-active.png | Bin 0 -> 3305 bytes .../AAM_Multisite_Support/images/pin.png | Bin 0 -> 3263 bytes .../images/refresh-active.png | Bin 0 -> 3654 bytes .../AAM_Multisite_Support/images/refresh.png | Bin 0 -> 3621 bytes .../AAM_Multisite_Support/images/unpin.png | Bin 0 -> 1393 bytes .../extension/AAM_Multisite_Support/index.php | 15 + .../AAM_Multisite_Support/multisite.css | 98 + .../AAM_Multisite_Support/multisite.js | 228 ++ .../extension/AAM_Multisite_Support/ui.phtml | 32 + .../extension/AAM_My_Feature/extension.php | 113 + .../AAM_My_Feature/images/worker.png | Bin 0 -> 2561 bytes .../extension/AAM_My_Feature/index.php | 15 + .../extension/AAM_My_Feature/my_feature.css | 22 + .../extension/AAM_My_Feature/my_feature.js | 20 + .../extension/AAM_My_Feature/ui.phtml | 19 + .../extension/AAM_Secure/extension.php | 384 +++ .../extension/AAM_Secure/geoip/freegeoip.php | 31 + .../extension/AAM_Secure/geoip/geoip.php | 15 + .../extension/AAM_Secure/index.php | 17 + .../extension/AAM_Secure/javascript/loader.js | 41 + .../AAM_Secure/javascript/security.js | 48 + .../extension/AAM_Secure/security.php | 85 + .../AAM_Secure/stylesheet/flags32.css | 260 ++ .../AAM_Secure/stylesheet/images/deny.png | Bin 0 -> 1239 bytes .../AAM_Secure/stylesheet/images/flags32.png | Bin 0 -> 174758 bytes .../stylesheet/images/large-iconset.png | Bin 0 -> 8010 bytes .../stylesheet/images/restriction.png | Bin 0 -> 1267 bytes .../AAM_Secure/stylesheet/security.css | 84 + .../extension/AAM_Secure/view/security.phtml | 156 + .../advanced-access-manager/lang/aam-de_DE.mo | Bin 0 -> 6948 bytes .../advanced-access-manager/lang/aam-de_DE.po | 336 ++ .../advanced-access-manager/lang/aam-en_US.mo | Bin 0 -> 394 bytes .../advanced-access-manager/lang/aam-en_US.po | 310 ++ .../advanced-access-manager/lang/aam-es_ES.mo | Bin 0 -> 6940 bytes .../advanced-access-manager/lang/aam-es_ES.po | 998 ++++++ .../advanced-access-manager/lang/aam-fa_IR.mo | Bin 0 -> 10259 bytes .../advanced-access-manager/lang/aam-fa_IR.po | 606 ++++ .../advanced-access-manager/lang/aam-fr_FR.mo | Bin 0 -> 7281 bytes .../advanced-access-manager/lang/aam-fr_FR.po | 337 ++ .../advanced-access-manager/lang/aam-nb_NO.mo | Bin 0 -> 7698 bytes .../advanced-access-manager/lang/aam-pl_PL.mo | Bin 0 -> 7697 bytes .../advanced-access-manager/lang/aam-pl_PL.po | 385 +++ .../advanced-access-manager/lang/aam-ru_RU.mo | Bin 0 -> 8881 bytes .../advanced-access-manager/lang/aam-ru_RU.po | 334 ++ .../advanced-access-manager/lang/aam.mo | Bin 0 -> 543 bytes .../advanced-access-manager/lang/aam.pot | 850 +++++ .../library/Zend/Config.php | 485 +++ .../library/Zend/Config/Exception.php | 33 + .../library/Zend/Config/Ini.php | 301 ++ .../library/Zend/Exception.php | 101 + .../advanced-access-manager/license.txt | 14 + .../advanced-access-manager/media/css/aam.css | 856 +++++ .../media/css/codemirror.css | 262 ++ .../media/css/common.css | 369 ++ .../media/css/configpress.css | 4 + .../media/css/extension.css | 155 + .../media/css/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../media/css/images/capability/checked.png | Bin 0 -> 518 bytes .../css/images/capability/delete-active.png | Bin 0 -> 311 bytes .../media/css/images/capability/delete.png | Bin 0 -> 313 bytes .../media/css/images/capability/unchecked.png | Bin 0 -> 239 bytes .../css/images/cmanager/field-loader.gif | Bin 0 -> 404 bytes .../media/css/images/cmanager/lock.png | Bin 0 -> 424 bytes .../media/css/images/cmanager/role-active.png | Bin 0 -> 957 bytes .../media/css/images/cmanager/role.png | Bin 0 -> 920 bytes .../media/css/images/cmanager/user-active.png | Bin 0 -> 756 bytes .../media/css/images/cmanager/user.png | Bin 0 -> 738 bytes .../css/images/cmanager/visitor-active.png | Bin 0 -> 910 bytes .../media/css/images/cmanager/visitor.png | Bin 0 -> 872 bytes .../media/css/images/common/large-iconset.png | Bin 0 -> 14735 bytes .../css/images/common/medium-iconset.png | Bin 0 -> 8883 bytes .../media/css/images/common/medium-loader.gif | Bin 0 -> 2545 bytes .../media/css/images/common/small-iconset.png | Bin 0 -> 6045 bytes .../media/css/images/common/warning.png | Bin 0 -> 356 bytes .../media/css/images/cpanel/cpanel-loader.gif | Bin 0 -> 3951 bytes .../media/css/images/event/delete-active.png | Bin 0 -> 311 bytes .../media/css/images/event/delete.png | Bin 0 -> 313 bytes .../media/css/images/event/edit-active.png | Bin 0 -> 618 bytes .../media/css/images/event/edit.png | Bin 0 -> 577 bytes .../css/images/extension/download-active.png | Bin 0 -> 256 bytes .../media/css/images/extension/download.png | Bin 0 -> 255 bytes .../css/images/extension/forum-active.png | Bin 0 -> 350 bytes .../media/css/images/extension/forum.png | Bin 0 -> 350 bytes .../media/css/images/extension/ok-active.png | Bin 0 -> 351 bytes .../media/css/images/extension/ok.png | Bin 0 -> 352 bytes .../css/images/extension/plus-active.png | Bin 0 -> 342 bytes .../media/css/images/extension/plus.png | Bin 0 -> 342 bytes .../css/images/extension/youtube-active.png | Bin 0 -> 385 bytes .../media/css/images/extension/youtube.png | Bin 0 -> 385 bytes .../media/css/images/feature-active.png | Bin 0 -> 323 bytes .../media/css/images/feature.png | Bin 0 -> 407 bytes .../media/css/images/lock.png | Bin 0 -> 548 bytes .../media/css/images/main-loader.gif | Bin 0 -> 8238 bytes .../media/css/images/menu/checked.png | Bin 0 -> 430 bytes .../media/css/images/menu/unchecked.png | Bin 0 -> 239 bytes .../media/css/images/metabox-loader.gif | Bin 0 -> 8238 bytes .../media/css/images/metabox/checked.png | Bin 0 -> 430 bytes .../media/css/images/metabox/link-active.png | Bin 0 -> 511 bytes .../media/css/images/metabox/link.png | Bin 0 -> 516 bytes .../media/css/images/metabox/unchecked.png | Bin 0 -> 239 bytes .../media/css/images/post/checked.png | Bin 0 -> 430 bytes .../media/css/images/post/info-active.png | Bin 0 -> 414 bytes .../media/css/images/post/info.png | Bin 0 -> 400 bytes .../media/css/images/post/loader.gif | Bin 0 -> 404 bytes .../media/css/images/post/lock-big.png | Bin 0 -> 1191 bytes .../media/css/images/post/lock.png | Bin 0 -> 548 bytes .../media/css/images/post/post.png | Bin 0 -> 564 bytes .../media/css/images/post/unchecked.png | Bin 0 -> 239 bytes .../media/css/images/search-active.png | Bin 0 -> 636 bytes .../media/css/images/search.png | Bin 0 -> 662 bytes .../media/css/images/sort_asc.png | Bin 0 -> 291 bytes .../media/css/images/sort_asc_disabled.png | Bin 0 -> 291 bytes .../media/css/images/sort_both.png | Bin 0 -> 297 bytes .../media/css/images/sort_desc.png | Bin 0 -> 289 bytes .../media/css/images/sort_desc_disabled.png | Bin 0 -> 263 bytes .../media/css/images/table-filtered.png | Bin 0 -> 382 bytes .../media/css/images/treeview/ajax-loader.gif | Bin 0 -> 847 bytes .../media/css/images/treeview/file.gif | Bin 0 -> 110 bytes .../css/images/treeview/folder-close.png | Bin 0 -> 359 bytes .../css/images/treeview/folder-closed.gif | Bin 0 -> 105 bytes .../media/css/images/treeview/folder-open.png | Bin 0 -> 400 bytes .../media/css/images/treeview/folder.gif | Bin 0 -> 106 bytes .../media/css/images/treeview/minus.gif | Bin 0 -> 837 bytes .../media/css/images/treeview/plus.gif | Bin 0 -> 841 bytes .../images/treeview/treeview-black-line.gif | Bin 0 -> 1877 bytes .../css/images/treeview/treeview-black.gif | Bin 0 -> 1216 bytes .../images/treeview/treeview-default-line.gif | Bin 0 -> 1993 bytes .../css/images/treeview/treeview-default.gif | Bin 0 -> 1222 bytes .../treeview/treeview-famfamfam-line.gif | Bin 0 -> 807 bytes .../images/treeview/treeview-famfamfam.gif | Bin 0 -> 1280 bytes .../images/treeview/treeview-gray-line.gif | Bin 0 -> 1877 bytes .../css/images/treeview/treeview-gray.gif | Bin 0 -> 1230 bytes .../css/images/treeview/treeview-red-line.gif | Bin 0 -> 1877 bytes .../css/images/treeview/treeview-red.gif | Bin 0 -> 1230 bytes .../css/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 .../css/images/ui-icons_222222_256x240.png | Bin 0 -> 4429 bytes .../css/images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4549 bytes .../css/images/ui-icons_454545_256x240.png | Bin 0 -> 4421 bytes .../css/images/ui-icons_888888_256x240.png | Bin 0 -> 4368 bytes .../css/images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4549 bytes .../media/css/jquery-ui.css | 7 + .../media/css/jquery.dt.css | 242 ++ .../media/css/jquery.treeview.css | 117 + .../advanced-access-manager/media/js/aam.js | 3034 +++++++++++++++++ .../media/js/codemirror.js | 1 + .../media/js/configpress.js | 71 + .../media/js/extension.js | 223 ++ .../media/js/jquery.dt.js | 155 + .../media/js/jquery.treeview.js | 123 + .../media/js/properties.js | 64 + .../advanced-access-manager/readme.txt | 458 +++ .../advanced-access-manager/screenshot-1.png | Bin 0 -> 42343 bytes .../advanced-access-manager/screenshot-2.png | Bin 0 -> 43579 bytes .../advanced-access-manager/screenshot-3.png | Bin 0 -> 55565 bytes .../advanced-access-manager/screenshot-4.png | Bin 0 -> 46486 bytes .../advanced-access-manager/screenshot-5.png | Bin 0 -> 42282 bytes wp-content/themes/headway/style.css | 52 +- 235 files changed, 23425 insertions(+), 26 deletions(-) create mode 100644 wp-content/plugins/advanced-access-manager/aam.php create mode 100644 wp-content/plugins/advanced-access-manager/active-menu.png create mode 100644 wp-content/plugins/advanced-access-manager/application/control/object.php create mode 100644 wp-content/plugins/advanced-access-manager/application/control/object/capability.php create mode 100644 wp-content/plugins/advanced-access-manager/application/control/object/event.php create mode 100644 wp-content/plugins/advanced-access-manager/application/control/object/menu.php create mode 100644 wp-content/plugins/advanced-access-manager/application/control/object/metabox.php create mode 100644 wp-content/plugins/advanced-access-manager/application/control/object/post.php create mode 100644 wp-content/plugins/advanced-access-manager/application/control/object/term.php create mode 100644 wp-content/plugins/advanced-access-manager/application/control/subject.php create mode 100644 wp-content/plugins/advanced-access-manager/application/control/subject/role.php create mode 100644 wp-content/plugins/advanced-access-manager/application/control/subject/user.php create mode 100644 wp-content/plugins/advanced-access-manager/application/control/subject/visitor.php create mode 100644 wp-content/plugins/advanced-access-manager/application/core/api.php create mode 100644 wp-content/plugins/advanced-access-manager/application/core/configpress.php create mode 100644 wp-content/plugins/advanced-access-manager/application/core/console.php create mode 100644 wp-content/plugins/advanced-access-manager/application/core/extension.php create mode 100644 wp-content/plugins/advanced-access-manager/application/core/repository.php create mode 100644 wp-content/plugins/advanced-access-manager/application/core/request.php create mode 100644 wp-content/plugins/advanced-access-manager/application/core/settings.php create mode 100644 wp-content/plugins/advanced-access-manager/application/core/update.php create mode 100644 wp-content/plugins/advanced-access-manager/application/view/abstract.php create mode 100644 wp-content/plugins/advanced-access-manager/application/view/capability.php create mode 100644 wp-content/plugins/advanced-access-manager/application/view/collection.php create mode 100644 wp-content/plugins/advanced-access-manager/application/view/configpress.php create mode 100644 wp-content/plugins/advanced-access-manager/application/view/event.php create mode 100644 wp-content/plugins/advanced-access-manager/application/view/extension.php create mode 100644 wp-content/plugins/advanced-access-manager/application/view/help.php create mode 100644 wp-content/plugins/advanced-access-manager/application/view/manager.php create mode 100644 wp-content/plugins/advanced-access-manager/application/view/menu.php create mode 100644 wp-content/plugins/advanced-access-manager/application/view/metabox.php create mode 100644 wp-content/plugins/advanced-access-manager/application/view/post.php create mode 100644 wp-content/plugins/advanced-access-manager/application/view/role.php create mode 100644 wp-content/plugins/advanced-access-manager/application/view/tmpl/capability.phtml create mode 100644 wp-content/plugins/advanced-access-manager/application/view/tmpl/configpress.phtml create mode 100644 wp-content/plugins/advanced-access-manager/application/view/tmpl/control_area.phtml create mode 100644 wp-content/plugins/advanced-access-manager/application/view/tmpl/event.phtml create mode 100644 wp-content/plugins/advanced-access-manager/application/view/tmpl/extension.phtml create mode 100644 wp-content/plugins/advanced-access-manager/application/view/tmpl/help_developers.phtml create mode 100644 wp-content/plugins/advanced-access-manager/application/view/tmpl/help_extensions.phtml create mode 100644 wp-content/plugins/advanced-access-manager/application/view/tmpl/help_faq.phtml create mode 100644 wp-content/plugins/advanced-access-manager/application/view/tmpl/help_overview.phtml create mode 100644 wp-content/plugins/advanced-access-manager/application/view/tmpl/manager.phtml create mode 100644 wp-content/plugins/advanced-access-manager/application/view/tmpl/menu.phtml create mode 100644 wp-content/plugins/advanced-access-manager/application/view/tmpl/metabox.phtml create mode 100644 wp-content/plugins/advanced-access-manager/application/view/tmpl/post.phtml create mode 100644 wp-content/plugins/advanced-access-manager/application/view/tmpl/role.phtml create mode 100644 wp-content/plugins/advanced-access-manager/application/view/tmpl/user.phtml create mode 100644 wp-content/plugins/advanced-access-manager/application/view/tmpl/visitor.phtml create mode 100644 wp-content/plugins/advanced-access-manager/application/view/user.php create mode 100644 wp-content/plugins/advanced-access-manager/application/view/visitor.php create mode 100644 wp-content/plugins/advanced-access-manager/config.php create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/activity.css create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/activity.js create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/activity.php create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/extension.php create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/images/info-active.png create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/images/info.png create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/images/trash-active.png create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/images/trash.png create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/index.php create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/ui.phtml create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/extension.php create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/add-active.png create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/add.png create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/edit-active.png create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/edit.png create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/manage-active.png create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/manage.png create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/multisite-active.png create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/multisite.png create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/pin-active.png create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/pin.png create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/refresh-active.png create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/refresh.png create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/unpin.png create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/index.php create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/multisite.css create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/multisite.js create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/ui.phtml create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_My_Feature/extension.php create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_My_Feature/images/worker.png create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_My_Feature/index.php create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_My_Feature/my_feature.css create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_My_Feature/my_feature.js create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_My_Feature/ui.phtml create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Secure/extension.php create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Secure/geoip/freegeoip.php create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Secure/geoip/geoip.php create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Secure/index.php create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Secure/javascript/loader.js create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Secure/javascript/security.js create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Secure/security.php create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Secure/stylesheet/flags32.css create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Secure/stylesheet/images/deny.png create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Secure/stylesheet/images/flags32.png create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Secure/stylesheet/images/large-iconset.png create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Secure/stylesheet/images/restriction.png create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Secure/stylesheet/security.css create mode 100644 wp-content/plugins/advanced-access-manager/extension/AAM_Secure/view/security.phtml create mode 100644 wp-content/plugins/advanced-access-manager/lang/aam-de_DE.mo create mode 100644 wp-content/plugins/advanced-access-manager/lang/aam-de_DE.po create mode 100644 wp-content/plugins/advanced-access-manager/lang/aam-en_US.mo create mode 100644 wp-content/plugins/advanced-access-manager/lang/aam-en_US.po create mode 100644 wp-content/plugins/advanced-access-manager/lang/aam-es_ES.mo create mode 100644 wp-content/plugins/advanced-access-manager/lang/aam-es_ES.po create mode 100644 wp-content/plugins/advanced-access-manager/lang/aam-fa_IR.mo create mode 100644 wp-content/plugins/advanced-access-manager/lang/aam-fa_IR.po create mode 100644 wp-content/plugins/advanced-access-manager/lang/aam-fr_FR.mo create mode 100644 wp-content/plugins/advanced-access-manager/lang/aam-fr_FR.po create mode 100644 wp-content/plugins/advanced-access-manager/lang/aam-nb_NO.mo create mode 100644 wp-content/plugins/advanced-access-manager/lang/aam-pl_PL.mo create mode 100644 wp-content/plugins/advanced-access-manager/lang/aam-pl_PL.po create mode 100644 wp-content/plugins/advanced-access-manager/lang/aam-ru_RU.mo create mode 100644 wp-content/plugins/advanced-access-manager/lang/aam-ru_RU.po create mode 100644 wp-content/plugins/advanced-access-manager/lang/aam.mo create mode 100644 wp-content/plugins/advanced-access-manager/lang/aam.pot create mode 100644 wp-content/plugins/advanced-access-manager/library/Zend/Config.php create mode 100644 wp-content/plugins/advanced-access-manager/library/Zend/Config/Exception.php create mode 100644 wp-content/plugins/advanced-access-manager/library/Zend/Config/Ini.php create mode 100644 wp-content/plugins/advanced-access-manager/library/Zend/Exception.php create mode 100644 wp-content/plugins/advanced-access-manager/license.txt create mode 100644 wp-content/plugins/advanced-access-manager/media/css/aam.css create mode 100644 wp-content/plugins/advanced-access-manager/media/css/codemirror.css create mode 100644 wp-content/plugins/advanced-access-manager/media/css/common.css create mode 100644 wp-content/plugins/advanced-access-manager/media/css/configpress.css create mode 100644 wp-content/plugins/advanced-access-manager/media/css/extension.css create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/animated-overlay.gif create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/capability/checked.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/capability/delete-active.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/capability/delete.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/capability/unchecked.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/cmanager/field-loader.gif create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/cmanager/lock.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/cmanager/role-active.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/cmanager/role.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/cmanager/user-active.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/cmanager/user.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/cmanager/visitor-active.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/cmanager/visitor.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/common/large-iconset.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/common/medium-iconset.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/common/medium-loader.gif create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/common/small-iconset.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/common/warning.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/cpanel/cpanel-loader.gif create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/event/delete-active.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/event/delete.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/event/edit-active.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/event/edit.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/extension/download-active.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/extension/download.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/extension/forum-active.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/extension/forum.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/extension/ok-active.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/extension/ok.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/extension/plus-active.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/extension/plus.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/extension/youtube-active.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/extension/youtube.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/feature-active.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/feature.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/lock.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/main-loader.gif create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/menu/checked.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/menu/unchecked.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/metabox-loader.gif create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/metabox/checked.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/metabox/link-active.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/metabox/link.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/metabox/unchecked.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/post/checked.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/post/info-active.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/post/info.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/post/loader.gif create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/post/lock-big.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/post/lock.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/post/post.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/post/unchecked.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/search-active.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/search.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/sort_asc.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/sort_asc_disabled.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/sort_both.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/sort_desc.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/sort_desc_disabled.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/table-filtered.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/treeview/ajax-loader.gif create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/treeview/file.gif create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/treeview/folder-close.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/treeview/folder-closed.gif create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/treeview/folder-open.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/treeview/folder.gif create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/treeview/minus.gif create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/treeview/plus.gif create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/treeview/treeview-black-line.gif create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/treeview/treeview-black.gif create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/treeview/treeview-default-line.gif create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/treeview/treeview-default.gif create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/treeview/treeview-famfamfam-line.gif create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/treeview/treeview-famfamfam.gif create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/treeview/treeview-gray-line.gif create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/treeview/treeview-gray.gif create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/treeview/treeview-red-line.gif create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/treeview/treeview-red.gif create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/ui-bg_flat_75_ffffff_40x100.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/ui-bg_glass_55_fbf9ee_1x400.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/ui-bg_glass_65_ffffff_1x400.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/ui-bg_glass_75_dadada_1x400.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/ui-bg_glass_75_e6e6e6_1x400.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/ui-bg_highlight-soft_75_cccccc_1x100.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/ui-icons_222222_256x240.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/ui-icons_2e83ff_256x240.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/ui-icons_454545_256x240.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/ui-icons_888888_256x240.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/images/ui-icons_cd0a0a_256x240.png create mode 100644 wp-content/plugins/advanced-access-manager/media/css/jquery-ui.css create mode 100644 wp-content/plugins/advanced-access-manager/media/css/jquery.dt.css create mode 100644 wp-content/plugins/advanced-access-manager/media/css/jquery.treeview.css create mode 100644 wp-content/plugins/advanced-access-manager/media/js/aam.js create mode 100644 wp-content/plugins/advanced-access-manager/media/js/codemirror.js create mode 100644 wp-content/plugins/advanced-access-manager/media/js/configpress.js create mode 100644 wp-content/plugins/advanced-access-manager/media/js/extension.js create mode 100644 wp-content/plugins/advanced-access-manager/media/js/jquery.dt.js create mode 100644 wp-content/plugins/advanced-access-manager/media/js/jquery.treeview.js create mode 100644 wp-content/plugins/advanced-access-manager/media/js/properties.js create mode 100644 wp-content/plugins/advanced-access-manager/readme.txt create mode 100644 wp-content/plugins/advanced-access-manager/screenshot-1.png create mode 100644 wp-content/plugins/advanced-access-manager/screenshot-2.png create mode 100644 wp-content/plugins/advanced-access-manager/screenshot-3.png create mode 100644 wp-content/plugins/advanced-access-manager/screenshot-4.png create mode 100644 wp-content/plugins/advanced-access-manager/screenshot-5.png diff --git a/wp-content/plugins/advanced-access-manager/aam.php b/wp-content/plugins/advanced-access-manager/aam.php new file mode 100644 index 0000000..7973fab --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/aam.php @@ -0,0 +1,1236 @@ + + Author URI: http://www.wpaam.com + + =========================================================================== + LICENSE: This file is subject to the terms and conditions defined in * + file 'license.txt', which is part of this source code package. * + =========================================================================== + * + */ +require(dirname(__FILE__) . '/config.php'); + +/** + * Main Plugin Class + * + * Responsible for initialization and handling user requests to Advanced Access + * Manager + * + * @package AAM + * @author Vasyl Martyniuk + * @copyright Copyright C 2013 Vasyl Martyniuk + * @license GNU General Public License {@link http://www.gnu.org/licenses/} + */ +class aam { + + /** + * Single instance of itself + * + * @var aam + * + * @access private + */ + private static $_aam = null; + + /** + * User Subject + * + * @var aam_Control_Subject_User + * + * @access private + */ + private $_user = null; + + /** + * Initialize the AAM Object + * + * @return void + * + * @access protected + */ + protected function __construct() { + //use some internal hooks to extend functionality + add_filter('aam_access_objects', array($this, 'internalHooks'), 1, 2); + + //initialize the user subject + $this->initializeUser(); + + if (is_admin()) { + //check if system requires update + $this->checkUpdate(); + + //print required JS & CSS + add_action('admin_print_scripts', array($this, 'printScripts')); + add_action('admin_print_styles', array($this, 'printStyles')); + + //add help menu + add_filter('contextual_help', array($this, 'contextualHelp'), 10, 3); + + //manager Admin Menu + if (aam_Core_API::isNetworkPanel()) { + add_action('network_admin_menu', array($this, 'adminMenu'), 999); + } else { + add_action('admin_menu', array($this, 'adminMenu'), 999); + } + add_filter('parent_file', array($this, 'filterMenu'), 999, 1); + //manager AAM Features Content rendering + add_action('admin_action_features', array($this, 'features')); + //manager AAM Ajax Requests + add_action('wp_ajax_aam', array($this, 'ajax')); + //manager WordPress metaboxes + add_action("in_admin_header", array($this, 'metaboxes'), 999); + //manager user search and authentication control + add_filter('user_search_columns', array($this, 'searchColumns')); + //terms & post restriction handlers + add_filter('get_terms', array($this, 'getBackendTerms'), 10, 3); + //post restrictions + add_action('post_updated', array($this, 'postUpdate'), 10, 3); + add_filter('page_row_actions', array($this, 'postRowActions'), 10, 2); + add_filter('post_row_actions', array($this, 'postRowActions'), 10, 2); + add_filter('tag_row_actions', array($this, 'tagRowActions'), 10, 2); + add_action('admin_action_edit', array($this, 'adminActionEdit'), 10); + //control permalink editing + add_filter( + 'get_sample_permalink_html', array($this, 'permalinkHTML'), 10, 4 + ); + //wp die hook + add_filter('wp_die_handler', array($this, 'wpDie'), 10); + //***For UI purposes*** + add_action('parse_tax_query', array($this, 'parseTaxQuery'), 10, 1); + add_filter('editable_roles', array($this, 'editableRoles'), 999); + //control Admin area + add_action('admin_init', array($this, 'adminInit')); + } else { + //make sure that subject is initiated during the login + add_action('wp_login', array($this, 'login'), 0, 2); + //control WordPress frontend + add_action('wp', array($this, 'wp'), 999); + //filter navigation pages & taxonomies + add_filter('get_pages', array($this, 'getPages')); + add_filter('wp_get_nav_menu_items', array($this, 'getNavigationMenu')); + //widget filters + add_filter('sidebars_widgets', array($this, 'widgetFilter'), 999); + //get control over commenting stuff + add_filter('comments_open', array($this, 'commentOpen'), 10, 2); + //user login control + add_filter('wp_authenticate_user', array($this, 'authenticate'), 1, 2); + //terms & post restriction handlers + add_filter('get_terms', array($this, 'getFrontendTerms'), 10, 3); + } + + //load extensions only when admin + $this->loadExtensions(); + + //add shutdown action + add_action('shutdown', array($this, 'shutdown'), 1); + } + + /** + * Control Admin Area access + * + * @return void + * + * @access public + */ + public function adminInit() { + global $plugin_page; + + //compile menu + if (empty($plugin_page)){ + $menu = basename(aam_Core_Request::server('SCRIPT_NAME')); + if ($query = trim(aam_Core_Request::server('QUERY_STRING'))) { + $menu .= '?' . $query; + } + } else { + $menu = $plugin_page; + } + + $has = $this->getUser()->getObject(aam_Control_Object_Menu::UID)->has($menu); + if ($has === true){ + $this->reject(); + } elseif(is_null($has) + && aam_Core_ConfigPress::getParam('aam.menu.undefined') == 'deny'){ + $this->reject(); + } + } + + /** + * Check if system requires update + * + * @return void + * + * @access public + */ + public function checkUpdate() { + if (aam_Core_API::getBlogOption('aam_updated', '', 1) != AAM_VERSION) { + $update = new aam_Core_Update($this); + $update->run(); + } + } + + /** + * Control Frontend commenting freature + * + * @param boolean $open + * @param int $post_id + * + * @return boolean + * + * @access public + */ + public function commentOpen($open, $post_id) { + $control = $this->getUser()->getObject( + aam_Control_Object_Post::UID, $post_id + ); + if ($control->has('frontend', aam_Control_Object_Post::ACTION_COMMENT)) { + $open = false; + } + + return $open; + } + + /** + * Control edit permalink feature + * + * @param string $html + * @param int $id + * @param type $new_title + * @param type $new_slug + * + * @return string + */ + public function permalinkHTML($html, $id, $new_title, $new_slug) { + if (aam_Core_ConfigPress::getParam('aam.control_permalink') === 'true') { + if ($this->getUser()->hasCapability('manage_permalink') === false) { + $html = ''; + } + } + + return $html; + } + + /** + * Get Post ID + * + * Replication of the same mechanism that is in wp-admin/post.php + * + * @return WP_Post|null + * + * @access public + */ + public function getPost() { + if (get_post()) { + $post = get_post(); + } elseif ($post_id = aam_Core_Request::get('post')) { + $post = get_post($post_id); + } elseif ($post_id = aam_Core_Request::get('post_ID')) { + $post = get_post($post_id); + } else { + $post = null; + } + + return $post; + } + + /** + * Filter backend term list + * + * @param array $terms + * @param array $taxonomies + * @param array $args + * + * @return array + * + * @access public + */ + public function getBackendTerms($terms, $taxonomies, $args) { + return $this->getTerms('backend', $terms); + } + + /** + * Filter frontend term list + * + * @param array $terms + * @param array $taxonomies + * @param array $args + * + * @return array + * + * @access public + */ + public function getFrontendTerms($terms, $taxonomies, $args) { + return $this->getTerms('frontend', $terms); + } + + /** + * Filter terms based on area + * + * @param string $area + * @param array $terms + * + * @return array + * + * @access public + */ + public function getTerms($area, $terms) { + if (is_array($terms)) { + foreach ($terms as $i => $term) { + if (is_object($term)) { + $object = $this->getUser()->getObject( + aam_Control_Object_Term::UID, $term->term_id + ); + if ($object->has($area, aam_Control_Object_Term::ACTION_LIST)) { + unset($terms[$i]); + } + } + } + } + + return $terms; + } + + /** + * Filter Pages that should be excluded in frontend + * + * @param array $pages + * + * @return array + * + * @access public + * @todo Cache this process + */ + public function getPages($pages) { + if (is_array($pages)) { + foreach ($pages as $i => $page) { + $object = $this->getUser()->getObject( + aam_Control_Object_Post::UID, $page->ID + ); + if ($object->has('frontend', aam_Control_Object_Post::ACTION_EXCLUDE)) { + unset($pages[$i]); + } + } + } + + return $pages; + } + + /** + * Contextual Help Menu + * + * @param type $contextual_help + * @param type $screen_id + * @param type $screen + * + * @return + */ + public function contextualHelp($contextual_help, $screen_id, $screen){ + if ($this->isAAMScreen()){ + $help = new aam_View_Help(); + $help->content($screen); + } + + return $contextual_help; + } + + /** + * Filter Navigation menu + * + * @param array $pages + * + * @return array + * + * @access public + */ + public function getNavigationMenu($pages) { + if (is_array($pages)) { + foreach ($pages as $i => $page) { + if ($page->type === 'taxonomy') { + $object = $this->getUser()->getObject( + aam_Control_Object_Term::UID, $page->object_id + ); + $exclude = aam_Control_Object_Term::ACTION_EXCLUDE; + } else { + $object = $this->getUser()->getObject( + aam_Control_Object_Post::UID, $page->object_id + ); + $exclude = aam_Control_Object_Post::ACTION_EXCLUDE; + } + + if ($object->has('frontend', $exclude)) { + unset($pages[$i]); + } + } + } + + return $pages; + } + + /** + * Filter Frontend widgets + * + * @param array $widgets + * + * @return array + * + * @access public + */ + public function widgetFilter($widgets) { + return $this->getUser()->getObject( + aam_Control_Object_Metabox::UID)->filterFrontend($widgets); + } + + /** + * Control Edit Post/Term + * + * Make sure that current user does not have access to edit Post or Term + * + * @return void + * + * @access public + */ + public function adminActionEdit() { + $user = $this->getUser(); + if (aam_Core_Request::request('taxonomy')) { + $control = $user->getObject( + aam_Control_Object_Term::UID, aam_Core_Request::request('tag_ID') + ); + if ($control->has('backend', aam_Control_Object_Post::ACTION_EDIT)) { + $this->reject(); + } + } elseif ($post = $this->getPost()) { + $control = $user->getObject(aam_Control_Object_Post::UID, $post->ID); + if ($control->has('backend', aam_Control_Object_Post::ACTION_EDIT)) { + $this->reject(); + } + } + } + + /** + * Reject the request + * + * Redirect or die the execution based on ConfigPress settings + * + * @return void + * + * @access public + */ + public function reject() { + if (is_admin()) { + $redirect = aam_Core_ConfigPress::getParam( + 'backend.access.deny.redirect' + ); + $message = aam_Core_ConfigPress::getParam( + 'backend.access.deny.message', __('Access Denied', 'aam') + ); + } else { + $redirect = aam_Core_ConfigPress::getParam( + 'frontend.access.deny.redirect' + ); + $message = aam_Core_ConfigPress::getParam( + 'frontend.access.deny.message', + __('Access Denied', 'aam') + ); + } + + if (filter_var($redirect, FILTER_VALIDATE_URL)) { + wp_redirect($redirect); + exit; + } elseif (is_int($redirect)) { + wp_redirect(get_post_permalink($redirect)); + exit; + } else { + wp_die($message); + } + } + + /** + * Take control over wp_die function + * + * @param callback $function + * + * @return void + * + * @access public + */ + public function wpDie($function) { + $redirect = aam_Core_ConfigPress::getParam('backend.access.deny.redirect'); + $message = aam_Core_ConfigPress::getParam( + 'backend.access.deny.message', __('Access Denied', 'aam') + ); + + if (filter_var($redirect, FILTER_VALIDATE_URL)) { + wp_redirect($redirect); + exit; + } elseif (is_int($redirect)) { + wp_redirect(get_post_permalink($redirect)); + exit; + } else { + call_user_func($function, $message, '', array()); + } + } + + /** + * Term Quick Menu Actions Filtering + * + * @param array $actions + * @param object $term + * + * @return array + * + * @access public + */ + public function tagRowActions($actions, $term) { + $control = $this->getUser()->getObject( + aam_Control_Object_Term::UID, $term->term_id + ); + //filter edit menu + if ($control->has('backend', aam_Control_Object_Post::ACTION_EDIT)) { + if (isset($actions['edit'])) { + unset($actions['edit']); + } + if (isset($actions['inline hide-if-no-js'])) { + unset($actions['inline hide-if-no-js']); + } + } + + //filter delete menu + if ($control->has('backend', aam_Control_Object_Post::ACTION_DELETE)) { + if (isset($actions['delete'])) { + unset($actions['delete']); + } + } + + return $actions; + } + + /** + * Post Quick Menu Actions Filtering + * + * @param array $actions + * @param WP_Post $post + * + * @return array + * + * @access public + */ + public function postRowActions($actions, $post) { + $control = $this->getUser()->getObject( + aam_Control_Object_Post::UID, $post->ID + ); + //filter edit menu + if ($control->has('backend', aam_Control_Object_Post::ACTION_EDIT)) { + if (isset($actions['edit'])) { + unset($actions['edit']); + } + if (isset($actions['inline hide-if-no-js'])) { + unset($actions['inline hide-if-no-js']); + } + } + //filter trash menu + if ($control->has('backend', aam_Control_Object_Post::ACTION_TRASH)) { + if (isset($actions['trash'])) { + unset($actions['trash']); + } + } + + //filter delete menu + if ($control->has('backend', aam_Control_Object_Post::ACTION_DELETE)) { + if (isset($actions['delete'])) { + unset($actions['delete']); + } + } + + return $actions; + } + + /** + * Main Frontend access control hook + * + * @return void + * + * @access public + * @global WP_Query $wp_query + * @global WP_Post $post + */ + public function wp() { + global $wp_query, $post; + + $user = $this->getUser(); + if (is_category()) { + $category = $wp_query->get_queried_object(); + if ($user->getObject(aam_Control_Object_Term::UID, $category->term_id + )->has('frontend', aam_Control_Object_Term::ACTION_BROWSE)) { + $this->reject(); + } + } elseif (!$wp_query->is_home() && ($post instanceof WP_Post)) { + if ($user->getObject(aam_Control_Object_Post::UID, $post->ID + )->has('frontend', aam_Control_Object_Post::ACTION_READ)) { + $this->reject(); + } + } + } + + /** + * Register Internal miscellenious functionality + * + * @param array $objects + * @param aam_Control_Subject $subject + * + * @return array + * + * @access public + */ + public function internalHooks($objects, $subject) { + $objects[aam_Control_Object_Event::UID] = new aam_Control_Object_Event( + $subject + ); + + return $objects; + } + + /** + * Event Handler + * + * @param int $post_ID + * @param WP_Post $post_after + * @param WP_Post $post_before + * + * @return void + * + * @access public + */ + public function postUpdate($post_ID, $post_after, $post_before = null) { + $events = $this->getUser()->getObject( + aam_Control_Object_Event::UID)->getOption(); + + foreach ($events as $event) { + if ($post_after->post_type == $event['post_type']) { + if ($event['event'] == 'status_change') { + if ($event['event_specifier'] == $post_after->post_status) { + $this->triggerAction( + $event, $post_ID, $post_after, $post_before + ); + } + } elseif ($post_before && $event['event'] == 'content_change') { + if ($post_before->post_content != $post_after->post_content) { + $this->triggerAction( + $event, $post_ID, $post_after, $post_before + ); + } + } + } + } + } + + /** + * Trigger Action based on settings + * + * @param array $event + * @param int $post_ID + * @param WP_Post $post_after + * @param WP_Post $post_before + * + * @global wpdb $wpdb + * @global array $wp_post_types + * + * @return void + * + * @access public + */ + public function triggerAction($event, $post_ID, $post_after, $post_before) { + global $wpdb, $wp_post_types; + + if ($event['action'] == 'notify') { + $subject = $wp_post_types[$event['post_type']]->labels->name . ' '; + $subject .= $post_ID . ' has been changed by ' . get_current_user(); + $subject = apply_filters('aam_notification_subject', $subject); + + $message = apply_filters( + 'aam_notification_message', get_edit_post_link($post_ID) + ); + + wp_mail($event['action_specifier'], $subject, $message); + } else if ($event['action'] == 'change_status') { + $wpdb->update( + $wpdb->posts, + array('post_status' => $event['action_specifier']), + array('ID' => $post_ID) + ); + } else if ($event['action'] == 'custom') { + if (is_callable($event['callback'])) { + call_user_func( + $event['callback'], $post_ID, $post_after, $post_before + ); + } + } + } + + /** + * Add extra column to search in for User search + * + * @param array $columns + * + * @return array + * + * @access public + */ + public function searchColumns($columns) { + $columns[] = 'display_name'; + + return $columns; + } + + /** + * Control User Block flag + * + * @param WP_Error $user + * + * @return WP_Error|WP_User + * + * @access public + */ + public function authenticate($user) { + if ($user->user_status == 1) { + $user = new WP_Error(); + $user->add( + 'authentication_failed', 'ERROR: User is blocked' + ); + } + + return $user; + } + + /** + * Make sure that AAM UI Page is used + * + * @return boolean + * + * @access public + */ + public function isAAMScreen() { + return (aam_Core_Request::get('page') == 'aam' ? true : false); + } + + /** + * Make sure that AAM Extension UI Page is used + * + * @return boolean + * + * @access public + */ + public function isAAMExtensionScreen() { + return (aam_Core_Request::get('page') == 'aam-ext' ? true : false); + } + + /** + * Make sure that AAM ConfigPress UI Page is used + * + * @return boolean + * + * @access public + */ + public function isAAMConfigPressScreen() { + return (aam_Core_Request::get('page') == 'aam-configpress' ? true : false); + } + + /** + * Print necessary styles + * + * @return void + * + * @access public + */ + public function printStyles() { + if ($this->isAAMScreen()) { + wp_enqueue_style('dashboard'); + wp_enqueue_style('global'); + wp_enqueue_style('wp-admin'); + wp_enqueue_style('aam-ui-style', AAM_MEDIA_URL . 'css/jquery-ui.css'); + wp_enqueue_style('aam-common-style', AAM_MEDIA_URL . 'css/common.css'); + wp_enqueue_style( + 'aam-style', + AAM_MEDIA_URL . 'css/aam.css', + array('aam-common-style') + ); + wp_enqueue_style('aam-datatables', AAM_MEDIA_URL . 'css/jquery.dt.css'); + wp_enqueue_style('wp-pointer'); + wp_enqueue_style( + 'aam-treeview', AAM_MEDIA_URL . 'css/jquery.treeview.css' + ); + } elseif ($this->isAAMExtensionScreen()) { + wp_enqueue_style('dashboard'); + wp_enqueue_style('global'); + wp_enqueue_style('wp-admin'); + wp_enqueue_style('aam-ui-style', AAM_MEDIA_URL . 'css/jquery-ui.css'); + wp_enqueue_style('aam-common-style', AAM_MEDIA_URL . 'css/common.css'); + wp_enqueue_style( + 'aam-style', + AAM_MEDIA_URL . 'css/extension.css', + array('aam-common-style') + ); + wp_enqueue_style('aam-datatables', AAM_MEDIA_URL . 'css/jquery.dt.css'); + } elseif ($this->isAAMConfigPressScreen()) { + wp_enqueue_style('aam-common-style', AAM_MEDIA_URL . 'css/common.css'); + wp_enqueue_style( + 'aam-style', + AAM_MEDIA_URL . 'css/configpress.css', + array('aam-common-style') + ); + wp_enqueue_style('aam-codemirror', AAM_MEDIA_URL . 'css/codemirror.css'); + } + + } + + /** + * Print necessary scripts + * + * @return void + * + * @access public + */ + public function printScripts() { + if ($this->isAAMScreen()) { + wp_enqueue_script('postbox'); + wp_enqueue_script('dashboard'); + wp_enqueue_script('aam-admin', AAM_MEDIA_URL . 'js/aam.js'); + wp_enqueue_script('aam-datatables', AAM_MEDIA_URL . 'js/jquery.dt.js'); + wp_enqueue_script( + 'aam-treeview', AAM_MEDIA_URL . 'js/jquery.treeview.js' + ); + wp_enqueue_script('jquery-ui-core'); + wp_enqueue_script('jquery-effects-core'); + wp_enqueue_script('jquery-ui-widget'); + wp_enqueue_script('jquery-ui-tabs'); + wp_enqueue_script('jquery-ui-accordion'); + wp_enqueue_script('jquery-ui-progressbar'); + wp_enqueue_script('jquery-ui-dialog'); + wp_enqueue_script('jquery-ui-button'); + wp_enqueue_script('jquery-ui-sortable'); + wp_enqueue_script('jquery-ui-menu'); + wp_enqueue_script('jquery-effects-highlight'); + wp_enqueue_script('wp-pointer'); + + $localization = array( + 'nonce' => wp_create_nonce('aam_ajax'), + 'siteURI' => admin_url('index.php'), + 'ajaxurl' => admin_url('admin-ajax.php'), + 'addUserURI' => admin_url('user-new.php'), + 'editUserURI' => admin_url('user-edit.php'), + 'defaultSegment' => array( + 'role' => $this->getDefaultEditableRole(), + 'blog' => get_current_blog_id(), + 'user' => 0 + ), + 'contextualMenu' => get_user_meta( + get_current_user_id(), 'aam_contextual_menu', true + ), + 'labels' => aam_View_Manager::uiLabels() + ); + wp_localize_script('aam-admin', 'aamLocal', $localization); + } elseif ($this->isAAMExtensionScreen()) { + wp_enqueue_script('postbox'); + wp_enqueue_script('dashboard'); + wp_enqueue_script('jquery-ui-core'); + wp_enqueue_script('jquery-effects-core'); + wp_enqueue_script('jquery-ui-widget'); + wp_enqueue_script('jquery-ui-dialog'); + wp_enqueue_script('jquery-ui-button'); + wp_enqueue_script('jquery-effects-highlight'); + wp_enqueue_script('aam-admin', AAM_MEDIA_URL . 'js/extension.js'); + wp_enqueue_script('aam-datatables', AAM_MEDIA_URL . 'js/jquery.dt.js'); + + $localization = array( + 'nonce' => wp_create_nonce('aam_ajax'), + 'ajaxurl' => admin_url('admin-ajax.php'), + 'labels' => aam_View_Manager::uiLabels() + ); + wp_localize_script('aam-admin', 'aamLocal', $localization); + } elseif ($this->isAAMConfigPressScreen()) { + wp_enqueue_script('jquery-ui-core'); + wp_enqueue_script('jquery-effects-core'); + wp_enqueue_script('jquery-effects-highlight'); + wp_enqueue_script('aam-admin', AAM_MEDIA_URL . 'js/configpress.js'); + wp_enqueue_script('aam-codemirror', AAM_MEDIA_URL . 'js/codemirror.js'); + wp_enqueue_script('aam-cmini', AAM_MEDIA_URL . 'js/properties.js'); + + $localization = array( + 'nonce' => wp_create_nonce('aam_ajax'), + 'ajaxurl' => admin_url('admin-ajax.php'), + ); + wp_localize_script('aam-admin', 'aamLocal', $localization); + } + } + + /** + * Get first editable role + * + * @return string + * + * @access public + */ + public function getDefaultEditableRole(){ + $role_keys = array_keys(get_editable_roles()); + + return array_shift($role_keys); + } + + /** + * Render list of AAM Features + * + * Must be separate from Ajax call because WordPress ajax does not load a lot of + * UI stuff + * + * @return void + * + * @access public + */ + public function features() { + check_ajax_referer('aam_ajax'); + try{ + $model = new aam_View_Manager; + $model->retrieveFeatures(); + } catch (Exception $e){ + echo $e->getMessage(); + } + die(); + } + + /** + * Handle Ajax calls to AAM + * + * @return void + * + * @access public + */ + public function ajax() { + check_ajax_referer('aam_ajax'); + + //clean buffer to make sure that nothing messing around with system + while (@ob_end_clean()); + + //process ajax request + try{ + $model = new aam_View_Manager(); + echo $model->processAjax(); + } catch (Exception $e){ + echo '-1'; + } + die(); + } + + /** + * Hanlde Metabox initialization process + * + * @return void + * + * @access public + */ + public function metaboxes() { + global $post; + + //make sure that nobody is playing with screen options + if ($post instanceof WP_Post) { + $screen = $post->post_type; + } elseif ($screen_object = get_current_screen()) { + $screen = $screen_object->id; + } else { + $screen = ''; + } + + if (aam_Core_Request::get('aam_meta_init')) { + try { + $model = new aam_View_Metabox; + $model->run($screen); + } catch (Exception $e){} + } else { + $this->getUser()->getObject(aam_Control_Object_Metabox::UID) + ->filterBackend($screen); + } + } + + /** + * Register Admin Menu + * + * @return void + * + * @access public + */ + public function adminMenu() { + //register the menu + add_menu_page( + __('AAM', 'aam'), + __('AAM', 'aam'), + aam_Core_ConfigPress::getParam( + 'aam.page.access_control.capability', 'administrator' + ), + 'aam', + array($this, 'content'), + AAM_BASE_URL . 'active-menu.png' + ); + //register submenus + add_submenu_page( + 'aam', + __('Access Control', 'aam'), + __('Access Control', 'aam'), + aam_Core_ConfigPress::getParam( + 'aam.page.access_control.capability', 'administrator' + ), + 'aam', + array($this, 'content') + ); + add_submenu_page( + 'aam', + __('ConfigPress', 'aam'), + __('ConfigPress', 'aam'), + aam_Core_ConfigPress::getParam( + 'aam.page.configpress.capability', 'administrator' + ), + 'aam-configpress', + array($this, 'configPressContent') + ); + add_submenu_page( + 'aam', + __('Extensions', 'aam'), + __('Extensions', 'aam'), + aam_Core_ConfigPress::getParam( + 'aam.page.extensions.capability', 'administrator' + ), + 'aam-ext', + array($this, 'extensionContent') + ); + + } + + /** + * Filter the Admin Menu + * + * @param string $parent_file + * + * @return string + * + * @access public + */ + public function filterMenu($parent_file){ + //filter admin menu + $this->getUser()->getObject(aam_Control_Object_Menu::UID)->filter(); + + return $parent_file; + } + + /** + * Take control over Tax Query parser + * + * By default WordPress consider non-empty term & category pair as search by + * slug. This is weird assumption and there is no other way to force core to + * search posts within custom taxonomy rather than take control over it with + * action parse_tax_query. + * + * @param WP_Query $query + * + * @return void + * + * @access public + */ + public function parseTaxQuery($query) { + if (!empty($query->query['term']) && !empty($query->query['taxonomy'])) { + foreach ($query->tax_query->queries as $id => $dump) { + $query->tax_query->queries[$id]['field'] = 'term_id'; + } + } + } + + /** + * Filter list of editable roles + * + * Does not allow for current user manager roles that have same or higher Level + * + * @param array $roles + * + * @return array + * + * @access public + */ + public function editableRoles($roles){ + $filtered = array(); + $level = aam_Core_API::getUserLevel(); + + + //check if super admin is specified + if (aam_Core_API::isSuperAdmin() === false){ + foreach ($roles as $role => $info) { + if (empty($info['capabilities']["level_{$level}"]) + || !$info['capabilities']["level_{$level}"]) { + $filtered[$role] = $info; + } + } + } else { + $filtered = $roles; + } + + return $filtered; + } + + /** + * Render Main Content page + * + * @return void + * + * @access public + */ + public function content() { + try { + $manager = new aam_View_Manager(); + echo $manager->run(); + } catch (Exception $e) { + echo $e->getMessage(); + } + } + + /** + * Render ConfigPress Page + * + * @return void + * + * @access public + */ + public function configPressContent() { + $manager = new aam_View_ConfigPress(); + echo $manager->run(); + } + + /** + * Extension content page + * + * @return void + * + * @access public + */ + public function extensionContent() { + $manager = new aam_View_Extension(); + echo $manager->run(); + } + + /** + * Initialize the AAM plugin + * + * @return void + * + * @access public + * @static + */ + public static function initialize() { + if (is_null(self::$_aam)) { + self::$_aam = new self; + } + } + + /** + * Initialize the current user + * + * Whether it is logged in user or visitor + * + * @return void + * + * @access public + */ + public function initializeUser() { + if ($user_id = get_current_user_id()) { + $this->setUser(new aam_Control_Subject_User($user_id)); + } else { + $this->setUser(new aam_Control_Subject_Visitor('')); + } + } + + /** + * User Login Hook + * + * This hook track the user's successfull login and update current subject + * + * @param string $username User Login name + * @param Wp_User $user Current user object + * + * @return void + * + * @access public + */ + public function login($username, $user) { + $this->setUser(new aam_Control_Subject_User($user->ID)); + } + + /** + * Uninstall hook + * + * Remove all leftovers from AAM execution + * + * @return void + * + * @access public + */ + public static function uninstall() { + global $wp_filesystem; + + //remove the content directory + if (!defined(AAM_CONTENT_DIR_FAILURE) && WP_Filesystem()) { + $wp_filesystem->rmdir(AAM_TEMP_DIR, true); + } + } + + /** + * Get Current User Subject + * + * @return aam_Control_Subject_User + * + * @access public + */ + public function getUser() { + return $this->_user; + } + + /** + * Set Current User Subject + * + * @param aam_Control_Subject $user + * + * @return void + * + * @access public + */ + public function setUser(aam_Control_Subject $user) { + $this->_user = $user; + } + + /** + * Execute before shutdown actions + * + * @return void + * + * @access public + */ + public function shutdown() { + $this->getUser()->saveCache(); + } + + /** + * Load Installed extensions + * + * @return void + * + * @access protected + */ + protected function loadExtensions() { + aam_Core_Repository::getInstance($this)->load(); + } + +} + +//the highest priority (higher the core) +//this is important to have to catch events like register core post types +add_action('init', 'aam::initialize', -1); + +//register_activation_hook(__FILE__, array('aam', 'activate')); +register_uninstall_hook(__FILE__, array('aam', 'uninstall')); \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/active-menu.png b/wp-content/plugins/advanced-access-manager/active-menu.png new file mode 100644 index 0000000000000000000000000000000000000000..81c3f4414bf4711acba56091e4cd4eda85f1fc2f GIT binary patch literal 3673 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/application/control/object.php b/wp-content/plugins/advanced-access-manager/application/control/object.php new file mode 100644 index 0000000..bb49243 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/control/object.php @@ -0,0 +1,150 @@ + + * @copyright Copyright C Vasyl Martyniuk + * @license GNU General Public License {@link http://www.gnu.org/licenses/} + */ +abstract class aam_Control_Object { + + /** + * Subject + * + * @var aam_Control_Subject + * + * @access private + */ + private $_subject = null; + + /** + * Constructor + * + * @param aam_Control_Subject $subject + * @param int $object_id + * + * @return void + * + * @access public + */ + public function __construct(aam_Control_Subject $subject, $object_id) { + $this->setSubject($subject); + $this->init($object_id); + } + + /** + * Sleep method + * + * Used for caching mechanism + * + * @return array + * + * @access public + */ + public function __sleep(){ + return array('_option'); + } + + /** + * Indicate either object can be cached on not + * + * @return boolean + * + * @access public + */ + abstract public function cacheObject(); + + /** + * Initialize object + * + * @param string|int $object_id + * + * @return void + * + * @access public + */ + public function init($object_id) { + $this->setOption( + $this->getSubject()->readOption($this->getUID(), $object_id) + ); + } + + /** + * Set current subject + * + * Either it is User or Role + * + * @param aam_Control_Subject $subject + * + * @return void + * + * @access public + */ + public function setSubject(aam_Control_Subject $subject) { + $this->_subject = $subject; + } + + /** + * Get Subject + * + * @return aam_Control_Subject + * + * @access public + */ + public function getSubject() { + return $this->_subject; + } + + /** + * Get current object UID + * + * @return string + * + * @access public + */ + abstract public function getUID(); + + /** + * Set Object options + * + * @param mixed $option + * + * @return void + * + * @access public + */ + abstract public function setOption($option); + + /** + * Get Object options + * + * @return mixed + * + * @access public + */ + abstract public function getOption(); + + /** + * Save Object options + * + * @param mixed $params + * + * @return void + * + * @access public + */ + abstract public function save($params = null); + +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/application/control/object/capability.php b/wp-content/plugins/advanced-access-manager/application/control/object/capability.php new file mode 100644 index 0000000..13de4ad --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/control/object/capability.php @@ -0,0 +1,96 @@ + + * @copyright Copyright C 2013 Vasyl Martyniuk + * @license GNU General Public License {@link http://www.gnu.org/licenses/} + */ +class aam_Control_Object_Capability extends aam_Control_Object { + + /** + * + */ + const UID = 'capability'; + + /** + * + * @var type + */ + private $_option = array(); + + /** + * + * @param type $capabilities + */ + public function save($capabilities = null) { + if (is_array($capabilities)) { + foreach ($capabilities as $capability => $grant) { + if (intval($grant)) { + $this->getSubject()->addCapability($capability); + } else { + $this->getSubject()->removeCapability($capability); + } + } + } + } + + /** + * @inheritdoc + */ + public function cacheObject(){ + return false; + } + + /** + * + * @param type $object_id + */ + public function init($object_id) { + if (empty($this->_option)) { + $this->setOption($this->getSubject()->getCapabilities()); + } + } + + /** + * + * @return type + */ + public function getUID() { + return self::UID; + } + + /** + * + * @param type $option + */ + public function setOption($option) { + $this->_option = (is_array($option) ? $option : array()); + } + + /** + * + * @return type + */ + public function getOption() { + return $this->_option; + } + + /** + * + * @param type $capability + * @return type + */ + public function has($capability) { + return $this->getSubject()->hasCapability($capability); + } + +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/application/control/object/event.php b/wp-content/plugins/advanced-access-manager/application/control/object/event.php new file mode 100644 index 0000000..87c3349 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/control/object/event.php @@ -0,0 +1,71 @@ + + * @copyright Copyright C 2013 Vasyl Martyniuk + * @license GNU General Public License {@link http://www.gnu.org/licenses/} + */ +class aam_Control_Object_Event extends aam_Control_Object { + + /** + * + */ + const UID = 'event'; + + /** + * + * @var type + */ + private $_option = array(); + + /** + * + * @param type $events + */ + public function save($events = null) { + if (is_array($events)) { + $this->getSubject()->updateOption($events, self::UID); + } + } + + /** + * @inheritdoc + */ + public function cacheObject(){ + return true; + } + + /** + * + * @return type + */ + public function getUID() { + return self::UID; + } + + /** + * + * @param type $option + */ + public function setOption($option) { + $this->_option = (is_array($option) ? $option : array()); + } + + /** + * + * @return type + */ + public function getOption() { + return $this->_option; + } + +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/application/control/object/menu.php b/wp-content/plugins/advanced-access-manager/application/control/object/menu.php new file mode 100644 index 0000000..9917a7e --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/control/object/menu.php @@ -0,0 +1,166 @@ + + * @copyright Copyright C 2013 Vasyl Martyniuk + * @license GNU General Public License {@link http://www.gnu.org/licenses/} + */ +class aam_Control_Object_Menu extends aam_Control_Object { + + /** + * Object Unique ID + */ + const UID = 'menu'; + + /** + * List of options + * + * @var array + * + * @access private + */ + private $_option = array(); + + /** + * Filter Menu List + * + * @global array $menu + * @global array $submenu + * + * @return void + * + * @access public + */ + public function filter() { + global $menu; + + //filter menu & submenu first + $capability = uniqid('aam_'); //random capability means NO access + //let's go and iterate menu & submenu + foreach ($menu as $id => $item) { + if ($this->has($item[2])) { + $menu[$id][1] = $capability; + $denied = true; + } else { + $denied = false; + } + //filter submenu + $submenu = $this->filterSubmenu($item[2], $denied); + //a trick to whether remove the Root Menu or replace link with the first + //available submenu + if ($denied && $submenu){ + $menu[$id][2] = $submenu[1]; + $menu[$id][1] = $submenu[0]; + } elseif ($denied){ //ok, no available submenus, remove it completely + unset($menu[$id]); + } + } + } + + /** + * Filter submenu + * + * @global array $submenu + * + * @param array $menu + * @param boolean $denied + * + * @return string|null + * + * @access public + */ + public function filterSubmenu($menu, $denied) { + global $submenu; + + //go to submenu + $available = null; + if (isset($submenu[$menu])) { + foreach ($submenu[$menu] as $sid => $sub_item) { + if ($this->has($sub_item[2])) { + //weird WordPress behavior, it gets the first submenu link + //$submenu[$menu][$sid][1] = $capability; + unset($submenu[$menu][$sid]); + } elseif (is_null($available)){ //find first available submenu + $available = array($sub_item[1], $sub_item[2]); + } + } + } + + //replace submenu with available new if found + if ($denied && !is_null($available) && ($available[1] != $menu) ){ + $submenu[$available[1]] = $submenu[$menu]; + unset($submenu[$menu]); + } + + return $available; + } + + /** + * @inheritdoc + */ + public function save($menu = null) { + if (is_array($menu)) { + $this->getSubject()->updateOption($menu, self::UID); + //set flag that this subject has custom settings + $this->getSubject()->setFlag(aam_Control_Subject::FLAG_MODIFIED); + } + } + + /** + * @inheritdoc + */ + public function cacheObject(){ + return true; + } + + /** + * + * @return type + */ + public function getUID() { + return self::UID; + } + + /** + * + * @param type $option + */ + public function setOption($option) { + $this->_option = (is_array($option) ? $option : array()); + } + + /** + * + * @return type + */ + public function getOption() { + return $this->_option; + } + + /** + * + * @param type $menu + * @return type + */ + public function has($menu) { + $response = null; + //decode URL in case of any special characters like & + $menu_decoded = htmlspecialchars_decode($menu); + //check if menu is restricted + if (isset($this->_option[$menu_decoded])) { + $response = (intval($this->_option[$menu_decoded]) ? true : false); + } + + return $response; + } + +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/application/control/object/metabox.php b/wp-content/plugins/advanced-access-manager/application/control/object/metabox.php new file mode 100644 index 0000000..1564b1e --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/control/object/metabox.php @@ -0,0 +1 @@ + * @copyright Copyright C 2013 Vasyl Martyniuk * @license GNU General Public License {@link http://www.gnu.org/licenses/} */ class aam_Control_Object_Metabox extends aam_Control_Object { /** * */ const UID = 'metabox'; /** * * @var type */ private $_option = array(); /** * * @global type $wp_registered_widgets * @param type $sidebar_widgets * @return type */ public function filterFrontend($sidebar_widgets) { global $wp_registered_widgets; if (is_array($wp_registered_widgets)) { foreach ($wp_registered_widgets as $id => $data) { if (is_object($data['callback'][0])) { $callback = get_class($data['callback'][0]); } elseif (is_string($data['callback'][0])) { $callback = $data['callback'][0]; } if ($this->has('widgets', $callback)) { unregister_widget($callback); //remove it from registered widget global var!! //INFORM: Why Unregister Widget does not clear global var? unset($wp_registered_widgets[$id]); } } } return $sidebar_widgets; } /** * * @global type $wp_meta_boxes * @param type $screen * @param type $post */ public function filterBackend($screen, $post = null) { global $wp_meta_boxes; if (is_array($wp_meta_boxes)) { foreach ($wp_meta_boxes as $screen_id => $zones) { if ($screen == $screen_id) { foreach ($zones as $zone => $priorities) { foreach ($priorities as $priority => $metaboxes) { foreach ($metaboxes as $metabox => $data) { if ($this->has($screen_id, $metabox)) { remove_meta_box($metabox, $screen_id, $zone); } } } } } } } } /** * @inheritdoc */ public function save($metaboxes = null) { if (is_array($metaboxes)) { $this->getSubject()->updateOption($metaboxes, self::UID); //set flag that this subject has custom settings $this->getSubject()->setFlag(aam_Control_Subject::FLAG_MODIFIED); } } /** * @inheritdoc */ public function cacheObject(){ return true; } /** * * @return type */ public function getUID() { return self::UID; } /** * * @param type $option */ public function setOption($option) { $this->_option = (is_array($option) ? $option : array()); } /** * * @return type */ public function getOption() { return $this->_option; } /** * * @param type $group * @param type $metabox * @return type */ public function has($group, $metabox) { $response = false; if (isset($this->_option[$group][$metabox])) { $response = (intval($this->_option[$group][$metabox]) ? true : false); } return $response; } } \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/application/control/object/post.php b/wp-content/plugins/advanced-access-manager/application/control/object/post.php new file mode 100644 index 0000000..e8c0659 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/control/object/post.php @@ -0,0 +1,338 @@ + + * @copyright Copyright C 2013 Vasyl Martyniuk + * @license GNU General Public License {@link http://www.gnu.org/licenses/} + */ +class aam_Control_Object_Post extends aam_Control_Object { + + /** + * Object Identifier + */ + const UID = 'post'; + + /** + * Object Action: COMMENT + * + * Control access to commenting ability + */ + const ACTION_COMMENT = 'comment'; + + /** + * Object Action: READ + * + * Either Object can be read by user or not + */ + const ACTION_READ = 'read'; + + /** + * Object Action: EXCLUDE + * + * If object is a part of frontend menu either exclude it from menu or not + */ + const ACTION_EXCLUDE = 'exclude'; + + /** + * Object Action: TRASH + * + * Manage access to object trash ability + */ + const ACTION_TRASH = 'trash'; + + /** + * + */ + const ACTION_DELETE = 'delete'; + + /** + * + */ + const ACTION_EDIT = 'edit'; + + /** + * + * @var type + */ + private $_post; + + /** + * + * @var type + */ + private $_option = array(); + + /** + * Indicator that settings where inherited + * + * @var boolean + * + * @access private + */ + private $_inherited = false; + + /** + * Init Post Object + * + * @param WP_Post|Int $object + * + * @return void + * + * @access public + */ + public function init($object) { + //make sure that we are dealing with WP_Post object + if ($object instanceof WP_Post){ + $this->setPost($object); + } elseif (intval($object)) { + $this->setPost(get_post($object)); + } + + if ($this->getPost()){ + $this->read(); + } + } + + /** + * Read the Post AAM Metadata + * + * Get all settings related to specified post + * + * @return void + * + * @access public + */ + public function read() { + $option = get_post_meta($this->getPost()->ID, $this->getOptionName(), true); + //try to inherit it from parent category + if (empty($option) + && (aam_Core_ConfigPress::getParam('aam.post.inherit', 'true') == 'true')) { + $terms = $this->retrievePostTerms(); + //use only first term for inheritance + $term_id = array_shift($terms); + //try to get any parent access + $option = $this->inheritAccess($term_id); + } + //even if parent category is empty, try to read the parent subject + if (empty($option)){ + $option = $this->getSubject()->readParentSubject( + self::UID, $this->getPost()->ID + ); + } + + $this->setOption( + apply_filters('aam_post_access_option', $option, $this) + ); + } + + /** + * Generate option name + * + * @return string + * + * @access protected + */ + protected function getOptionName() { + $subject = $this->getSubject(); + //prepare option name + $meta_key = 'aam_' . self::UID . '_access_' . $subject->getUID(); + $meta_key .= ($subject->getId() ? $subject->getId() : ''); + + return $meta_key; + } + + /** + * Inherit access from parent term + * + * Go throught the hierarchical branch of terms and retrieve access from the + * first parent term that has access defined. + * + * @param int $term_id + * + * @return array + * + * @access private + */ + private function inheritAccess($term_id) { + $term = new aam_Control_Object_Term($this->getSubject(), $term_id); + $access = $term->getOption(); + if (isset($access['post']) && $access['post']) { + $result = array('post' => $access['post']); + $this->setInherited(true); + } elseif (is_object($term->getTerm()) && $term->getTerm()->parent) { + $result = $this->inheritAccess($term->getTerm()->parent); + } else { + $result = array(); + } + + return $result; + } + + /** + * @inheritdoc + */ + public function __sleep(){ + return array('_post', '_option', '_inherited'); + } + + /** + * @inheritdoc + */ + public function cacheObject(){ + return true; + } + + /** + * @inheritdoc + */ + public function save($params = null) { + if (is_array($params)) { + $this->setInherited(false); + update_post_meta($this->getPost()->ID, $this->getOptionName(), $params); + //set flag that this subject has custom settings + $this->getSubject()->setFlag(aam_Control_Subject::FLAG_MODIFIED); + } + //fire internal hook + do_action_ref_array('aam_object_saved', $this, $params); + } + + /** + * Get Object Unique ID + * + * @return string + * + * @access public + */ + public function getUID() { + return self::UID; + } + + /** + * + * @return type + */ + public function delete() { + return delete_post_meta($this->getPost()->ID, $this->getOptionName()); + } + + /** + * Retrieve list of all hierarchical terms the object belongs to + * + * @return array + * + * @access private + */ + private function retrievePostTerms() { + $taxonomies = get_object_taxonomies($this->getPost()); + if (is_array($taxonomies) && count($taxonomies)) { + //filter taxonomies to hierarchical only + $filtered = array(); + foreach ($taxonomies as $taxonomy) { + if (is_taxonomy_hierarchical($taxonomy)) { + $filtered[] = $taxonomy; + } + } + $terms = wp_get_object_terms( + $this->getPost()->ID, $filtered, array('fields' => 'ids') + ); + } else { + $terms = array(); + } + + return $terms; + } + + /** + * Set Post. Cover all unexpectd wierd issues with WP Core + * + * @param WP_Post $post + * + * @return void + * + * @access public + */ + public function setPost($post) { + if ($post instanceof WP_Post){ + $this->_post = $post; + } else { + $this->_post = (object) array('ID' => 0); + } + } + + /** + * Get Post + * + * @return WP_Post|stdClass + * + * @access public + */ + public function getPost() { + return $this->_post; + } + + /** + * + * @param type $option + */ + public function setOption($option) { + $this->_option = (is_array($option) ? $option : array()); + } + + /** + * + * @return type + */ + public function getOption() { + return $this->_option; + } + + /** + * Set inherited flag + * + * If post does not have access specified, it'll try to inherit it from the + * parent category and if parent category has access defined it'll inherit all + * settings and set _inherited flag to true. + * + * @param boolean $flag + * + * @return void + * + * @access public + */ + public function setInherited($flag){ + $this->_inherited = $flag; + } + + /** + * + * @return type + */ + public function getInherited(){ + return $this->_inherited; + } + + /** + * + * @param type $area + * @param type $action + * @return type + */ + public function has($area, $action) { + $response = false; + if (isset($this->_option['post'][$area][$action])) { + $response = (intval($this->_option['post'][$area][$action]) ? true : false); + } + + return $response; + } + +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/application/control/object/term.php b/wp-content/plugins/advanced-access-manager/application/control/object/term.php new file mode 100644 index 0000000..c695408 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/control/object/term.php @@ -0,0 +1,222 @@ + + * @copyright Copyright C 2013 Vasyl Martyniuk + * @license GNU General Public License {@link http://www.gnu.org/licenses/} + */ +class aam_Control_Object_Term extends aam_Control_Object { + + /** + * + */ + const UID = 'term'; + + /** + * + */ + const ACTION_BROWSE = 'browse'; + + /** + * + */ + const ACTION_EXCLUDE = 'exclude'; + + /** + * + */ + const ACTION_EDIT = 'edit'; + + /** + * + */ + const ACTION_LIST = 'list'; + + /** + * + * @var type + */ + private $_term = null; + + /** + * + * @var type + */ + private $_option = array(); + + /** + * @inheritdoc + */ + public function __sleep(){ + return array('_term', '_option'); + } + + /** + * @inheritdoc + */ + public function save($params = null) { + if (is_array($params)) { + $this->getSubject()->updateOption( + $params, self::UID, $this->getTerm()->term_id + ); + //set flag that this subject has custom settings + $this->getSubject()->setFlag(aam_Control_Subject::FLAG_MODIFIED); + } + } + + /** + * Get Object Unique ID + * + * @return string + * + * @access public + */ + public function getUID() { + return self::UID; + } + + /** + * + * @param type $object_id + */ + public function init($object_id) { + if ($object_id) { + //initialize term first + $term = get_term($object_id, $this->getTaxonomy($object_id)); + if ($term && !is_wp_error($term)) { + $this->setTerm($term); + $access = $this->getSubject()->readOption( + self::UID, $this->getTerm()->term_id + ); + $inherit = aam_Core_ConfigPress::getParam( + 'aam.term.inherit', 'true' + ); + if (empty($access) && ($inherit == 'true')) { + //try to get any parent restriction + $access = $this->inheritAccess($this->getTerm()->parent); + } + + //even if parent category is empty, try to read the parent subject + if (empty($access)){ + $access = $this->getSubject()->readParentSubject( + self::UID, $this->getTerm()->term_id + ); + } + + $this->setOption( + apply_filters('aam_term_access_option', $access, $this) + ); + } + } + } + + /** + * + * @return type + */ + public function delete() { + return $this->getSubject()->deleteOption( + self::UID, $this->getTerm()->term_id + ); + } + + /** + * + * @param type $term_id + * @return array + */ + private function inheritAccess($term_id) { + $term = new aam_Control_Object_Term($this->getSubject(), $term_id); + if ($term->getTerm()) { + $access = $term->getOption(); + if (empty($access) && $term->getTerm()->parent) { + $this->inheritAccess($term->getTerm()->parent); + } elseif (!empty($access)) { + $access['inherited'] = true; + } + } else { + $access = array(); + } + + return $access; + } + + /** + * + * @global type $wpdb + * @param type $object_id + * @return type + */ + private function getTaxonomy($object_id) { + global $wpdb; + + $query = "SELECT taxonomy FROM {$wpdb->term_taxonomy} "; + $query .= "WHERE term_id = {$object_id}"; + + return $wpdb->get_var($query); + } + + /** + * + * @param type $term + */ + public function setTerm($term) { + $this->_term = $term; + } + + /** + * + * @return type + */ + public function getTerm() { + return $this->_term; + } + + /** + * + * @param type $option + */ + public function setOption($option) { + $this->_option = (is_array($option) ? $option : array()); + } + + /** + * + * @return type + */ + public function getOption() { + return $this->_option; + } + + /** + * @inheritdoc + */ + public function cacheObject(){ + return true; + } + + /** + * + * @param type $area + * @param type $action + * @return type + */ + public function has($area, $action) { + $response = false; + if (isset($this->_option['term'][$area][$action])) { + $response = (intval($this->_option['term'][$area][$action]) ? true : false); + } + + return $response; + } + +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/application/control/subject.php b/wp-content/plugins/advanced-access-manager/application/control/subject.php new file mode 100644 index 0000000..a2639cc --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/control/subject.php @@ -0,0 +1,468 @@ + + * @copyright Copyright C 2013 Vasyl Martyniuk + * @license GNU General Public License {@link http://www.gnu.org/licenses/} + */ +abstract class aam_Control_Subject { + + /** + * Flag that idicates that subject has been modified + */ + const FLAG_MODIFIED = 'modified_flag'; + + /** + * Subject ID + * + * Whether it is User ID or Role ID + * + * @var string|int + * + * @access private + */ + private $_id; + + /** + * WordPres Subject + * + * It can be WP_User or WP_Role, based on what class has been used + * + * @var WP_Role|WP_User + * + * @access private + */ + private $_subject; + + /** + * List of Objects to be access controled for current subject + * + * All access control objects like Admin Menu, Metaboxes, Posts etc + * + * @var array + * + * @access private + */ + private $_objects = array(); + + /** + * Update Cache flag + * + * If there is any new object instantiated, update cache too + * + * @var boolean + * + * @access private + */ + private $_updateCache = false; + + /** + * Constructor + * + * @param string|int $id + * + * @return void + * + * @access public + */ + public function __construct($id) { + //set subject + $this->setId($id); + //retrieve and set subject itself + $this->setSubject($this->retrieveSubject()); + //retrieve cache if there is any + $this->initCache(); + } + + /** + * Initialize cache + * + * @return void + * + * @access public + */ + public function initCache(){ + if (aam_Core_ConfigPress::getParam('aam.caching', 'false') === "true"){ + $this->setObjects($this->readCache()); + foreach($this->_objects as $objects){ + foreach($objects as $object){ + if (!($object instanceof __PHP_Incomplete_Class)) { + $object->setSubject($this); + } + } + } + } + } + + /** + * Desctruct the subject + * + * Execute extra actions during application shutdown + * + * @return void + * + * @access public + */ + public function saveCache(){ + $caching = aam_Core_ConfigPress::getParam('aam.caching', 'false'); + if (($this->_updateCache === true) && ($caching === "true")){ + $this->updateCache(); + } + } + + /** + * Trigger Subject native methods + * + * @param string $name + * @param array $arguments + * + * @return mixed + * + * @access public + */ + public function __call($name, $arguments) { + $subject = $this->getSubject(); + //make sure that method is callable + if (method_exists($subject, $name)) { + $response = call_user_func_array(array($subject, $name), $arguments); + } else { + $response = null; + } + + return $response; + } + + /** + * Get Subject's native properties + * + * @param string $name + * + * @return mixed + * + * @access public + */ + public function __get($name) { + $subject = $this->getSubject(); + //TODO - In multisite Wp_User roles are not initialized if admin not a part + //of the site + return @$subject->$name; + } + + /** + * Set Subject's native properties + * + * @param string $name + * + * @return mixed + * + * @access public + */ + public function __set($name, $value) { + $subject = $this->getSubject(); + $subject->$name = $value; + } + + /** + * Set Subject ID + * + * @param string|int + * + * @return void + * + * @access public + */ + public function setId($id) { + $this->_id = $id; + } + + /** + * Get Subject ID + * + * @return string|int + * + * @access public + */ + public function getId() { + return $this->_id; + } + + /** + * Get Subject + * + * @return WP_Role|WP_User + * + * @access public + */ + public function getSubject() { + return $this->_subject; + } + + /** + * Set Subject + * + * @param WP_Role|WP_User $subject + * + * @return void + * + * @access public + */ + public function setSubject($subject) { + $this->_subject = $subject; + } + + /** + * Set Objects + * + * If there is any cache, set the complete set of objects + * + * @return void + * + * @access public + */ + public function setObjects($objects) { + $this->_objects = $objects; + } + + /** + * Get Access Objects + * + * @return array + * + * @access public + */ + public function getObjects() { + return $this->_objects; + } + + /** + * Get Individual Object + * + * @param string $object + * @param mixed $object_id + * + * @return aam_Control_Object + * + * @access public + */ + public function getObject($object, $object_id = 0) { + //make sure that object group is defined + if (!isset($this->_objects[$object])){ + $this->_objects[$object] = array(); + } + //check if there is an object with specified ID + if (!isset($this->_objects[$object][$object_id])) { + $class_name = 'aam_Control_Object_' . ucfirst($object); + if (class_exists($class_name)) { + $this->_objects[$object][$object_id] = new $class_name( + $this, $object_id, $this + ); + } else { + $this->_objects[$object][$object_id] = apply_filters( + 'aam_object', null, $object, $object_id, $this + ); + } + + //set update cache flag to true if object can be cached + if ($this->_objects[$object][$object_id]->cacheObject() === true){ + $this->_updateCache = true; + } + } + + return $this->_objects[$object][$object_id]; + } + + /** + * Set Individual Access Object + * + * @param aam_Control_Object $object + * @param string $uid + * + * @return void + * + * @access public + */ + public function setObject(aam_Control_Object $object, $uid) { + $this->_objects[$uid] = $object; + } + + /** + * Release the object + * + * @param string $uid + * @param string|int $object_id + * + * @return void + * + * @access public + */ + public function releaseObject($uid, $object_id = 0){ + if (isset($this->_objects[$uid][$object_id])){ + unset($this->_objects[$uid][$object_id]); + } + } + + /** + * Get Subject Type + * + * @return string + * + * @access public + */ + public function getType() { + return get_class($this->getSubject()); + } + + /** + * + * @param type $capability + * @return type + */ + public function hasCapability($capability) { + return $this->getSubject()->has_cap($capability); + } + + /** + * Save Access Parameters + * + * @param array $params + * + * @return boolean + * + * @access public + */ + public function save(array $params) { + foreach ($params as $object_type => $dump) { + if ($object = $this->getObject($object_type)) { + $object->save($dump); + } + } + + //clear cache + $this->clearCache(); + } + + /** + * Retrieve list of subject's capabilities + * + * @return array + * + * @access public + */ + abstract public function getCapabilities(); + + /** + * Read Cache + * + * Cache all settings to speed-up the AAM execution + * + * @return void + * + * @access public + */ + abstract public function readCache(); + + /** + * Update Cache + * + * If there is any change to cache, update it and save to database + * + * @return boolean + * + * @access public + */ + abstract public function updateCache(); + + /** + * Clear the Subject Cache + * + * @return boolean + * + * @access public + */ + abstract public function clearCache(); + + /** + * Clear all options + * + * Remove all options related to current user from database and any other + * custom storage + * + * @return void + * + * @access public + */ + abstract public function clearAllOptions(); + + /** + * Check if subject has specified flag + * + * @param string flag + * + * @return boolean + * + * @access public + */ + abstract public function hasFlag($flag); + + /** + * Set Subject Flag + * + * @param string $flag + * @param boolean $value + * + * @return void + * + * @access protected + */ + abstract public function setFlag($flag, $value = true); + + /** + * Retrieve subject based on used class + * + * @return void + * + * @access protected + */ + abstract protected function retrieveSubject(); + + /** + * Read object from parent subject + * + * @param string $object + * @param mixed $object_id + * + * @return mixed + * + * @access public + */ + public function readParentSubject($object, $object_id){ + if ($subject = $this->getParentSubject()){ + $option = $subject->getObject($object, $object_id)->getOption(); + } else { + $option = null; + } + + return $option; + } + + /** + * Retrive parent subject + * + * If there is no parent subject, return null + * + * @return aam_Control_Subject|null + * + * @access public + */ + abstract public function getParentSubject(); +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/application/control/subject/role.php b/wp-content/plugins/advanced-access-manager/application/control/subject/role.php new file mode 100644 index 0000000..47d5ddc --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/control/subject/role.php @@ -0,0 +1,289 @@ + + * @copyright Copyright C 2013 Vasyl Martyniuk + * @license GNU General Public License {@link http://www.gnu.org/licenses/} + */ +class aam_Control_Subject_Role extends aam_Control_Subject { + + /** + * Subject UID: ROLE + */ + const UID = 'role'; + + /** + * Retrieve Role based on ID + * + * @return WP_Role|null + * + * @access protected + */ + protected function retrieveSubject() { + $roles = new WP_Roles; + $role = $roles->get_role($this->getId()); + + if (!is_null($role) && isset($role->capabilities)){ + //add role capability as role id, weird WordPress behavior + //example is administrator capability + $role->capabilities[$this->getId()] = true; + } + + return $role; + } + + /** + * Delete User Role and all User's in role if requested + * + * @param boolean $delete_users + * + * @return boolean + * + * @access public + */ + public function delete($delete_users = false) { + $role = new WP_Roles; + + if ($this->getId() !== 'administrator') { + if ($delete_users) { + if (current_user_can('delete_users')) { + //delete users first + $users = new WP_User_Query(array( + 'number' => '', + 'blog_id' => get_current_blog_id(), + 'role' => $this->getId() + )); + foreach ($users->get_results() as $user) { + //user can not delete himself + if (($user instanceof WP_User) + && ($user->ID != get_current_user_id())) { + wp_delete_user($user->ID); + } + } + $role->remove_role($this->getId()); + $status = true; + } else { + $status = false; + } + } else { + $role->remove_role($this->getId()); + $status = true; + } + } else { + $status = false; + } + + return $status; + } + + /** + * + * @param type $name + * @return boolean + */ + public function update($name) { + $role = new WP_Roles; + if ($name) { + $role->roles[$this->getId()]['name'] = $name; + $status = aam_Core_API::updateBlogOption($role->role_key, $role->roles); + } else { + $status = false; + } + + return $status; + } + + /** + * Remove Capability + * + * @param string $capability + * + * @return boolean + * + * @access public + */ + public function removeCapability($capability) { + return $this->getSubject()->remove_cap($capability); + } + + /** + * Check if Subject has capability + * + * Keep compatible with WordPress core + * + * @param string $capability + * + * @return boolean + * + * @access public + */ + public function addCapability($capability) { + return $this->getSubject()->add_cap($capability, 1); + } + + /** + * + * @return type + */ + public function getCapabilities() { + return $this->getSubject()->capabilities; + } + + /** + * + * @param type $value + * @param type $object + * @param type $object_id + * @return type + */ + public function updateOption($value, $object, $object_id = 0) { + return aam_Core_API::updateBlogOption( + $this->getOptionName($object, $object_id), $value + ); + } + + /** + * + * @param type $object + * @param type $object_id + * @param type $default + * @return type + */ + public function readOption($object, $object_id = 0, $default = null) { + return aam_Core_API::getBlogOption( + $this->getOptionName($object, $object_id), $default + ); + } + + /** + * + * @param type $object + * @param type $object_id + * @return type + */ + public function deleteOption($object, $object_id = 0) { + return aam_Core_API::deleteBlogOption( + $this->getOptionName($object, $object_id) + ); + } + + /** + * + * @param type $object + * @param type $object_id + * @return string + */ + protected function getOptionName($object, $object_id) { + $name = "aam_{$object}" . ($object_id ? "_{$object_id}_" : '_'); + $name .= self::UID . '_' . $this->getId(); + + return $name; + } + + /** + * @inheritdoc + */ + public function hasFlag($flag){ + $option = 'aam_' . self::UID . '_' . $this->getId() . "_{$flag}"; + return aam_Core_API::getBlogOption($option); + } + + /** + * @inheritdoc + */ + public function setFlag($flag, $value = true) { + $option = 'aam_' . self::UID . '_' . $this->getId() . "_{$flag}"; + if ($value === true){ + aam_Core_API::updateBlogOption($option, $value); + } else { + aam_Core_API::deleteBlogOption($option); + } + } + + /** + * @inheritdoc + */ + public function clearAllOptions(){ + global $wpdb; + + //prepare option mask + $mask = 'aam_%_' . $this->getId(); + + //clear all settings in options table + $wpdb->query("DELETE FROM {$wpdb->options} WHERE option_name LIKE '{$mask}'"); + + //clear all settings in postmeta table + $wpdb->query("DELETE FROM {$wpdb->postmeta} WHERE meta_key LIKE '{$mask}'"); + + $this->clearCache(); //delete cache + //clear modifield flag + $this->setFlag(aam_Control_Subject::FLAG_MODIFIED, false); + + do_action('aam_clear_all_options', $this); + } + + /** + * + * @return type + */ + public function getUID() { + return self::UID; + } + + /** + * Get Role Cache + * + * AAM does not store individual Role cache that is why this function returns + * always empty array + * + * @return array + * + * @access public + */ + public function readCache(){ + return array(); + } + + /** + * Update Role Cache + * + * This function does nothing because AAM does not store Role's cache + * + * @return boolean + * + * @access public + */ + public function updateCache(){ + return true; + } + + /** + * Clear Role Cache + * + * This function does nothing because AAM does not store Role's cache + * + * @return boolean + * + * @access public + */ + public function clearCache(){ + return true; + } + + /** + * @inheritdoc + */ + public function getParentSubject(){ + return null; + } + +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/application/control/subject/user.php b/wp-content/plugins/advanced-access-manager/application/control/subject/user.php new file mode 100644 index 0000000..d80ab47 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/control/subject/user.php @@ -0,0 +1,395 @@ + + * @copyright Copyright C 2013 Vasyl Martyniuk + * @license GNU General Public License {@link http://www.gnu.org/licenses/} + */ +class aam_Control_Subject_User extends aam_Control_Subject { + + /** + * Subject UID: USER + */ + const UID = 'user'; + + /** + * AAM Capability Key + * + * WordPress does not allow to have different set of capabilities for one user + * between sites. aam_capability key stores the set of capabilities stored after + * individual user edit and merge them with system capabilities. + * The merging process overwrites allcaps. + * + * @var array + * + * @access private + */ + private $_cap_key = ''; + + /** + * @inheritdoc + */ + public function __construct($id) { + parent::__construct($id); + + //overwrite default set of capabilities if AAM capset is defined + if ($this->isDefaultCapSet() === false){ + //make sure that aam_capability is actually array + if (is_array($this->getSubject()->aam_caps)){ + $allcaps = array_merge( + $this->getSubject()->allcaps, $this->getSubject()->aam_caps + ); + $this->getSubject()->allcaps = $allcaps; + } + } + } + + /** + * Delete User + * + * @return boolean + * + * @access public + */ + public function delete() { + $response = false; + if (current_user_can('delete_users') + && ($this->getId() !== get_current_user_id())) { + $response = wp_delete_user($this->getId()); + } + + return $response; + } + + /** + * Block User + * + * @return boolean + * + * @access public + * @global wpdb $wpdb + */ + public function block() { + global $wpdb; + + $response = false; + if (current_user_can('edit_users') + && ($this->getId() != get_current_user_id())) { + $status = ($this->getSubject()->user_status == 0 ? 1 : 0); + if ($wpdb->update( + $wpdb->users, + array('user_status' => $status), + array('ID' => $this->getId()) + )) { + $this->getSubject()->user_status = $status; + clean_user_cache($this->getSubject()); + $response = true; + } + } + + return $response; + } + + /** + * Retrieve User based on ID + * + * @return WP_Role|null + * + * @access protected + */ + protected function retrieveSubject() { + global $current_user; + + if (($current_user instanceof WP_User) + && ($current_user->ID == $this->getId())) { + $subject = $current_user; + } else { + $subject = new WP_User($this->getId()); + } + + //retrieve aam capabilities if are not retrieved yet + $this->_cap_key = 'aam_capability'; + $subject->aam_caps = get_user_option($this->_cap_key, $this->getId()); + + return $subject; + } + + /** + * Check if user has default capability set + * + * @return boolean + * + * @access public + */ + public function isDefaultCapSet(){ + return empty($this->getSubject()->aam_caps); + } + + /** + * + * @return array + */ + public function getCapabilities() { + return $this->getSubject()->allcaps; + } + + /** + * Check if user has specified capability + * + * @param string $capability + * + * @return boolean + * + * @access public + */ + public function hasCapability($capability) { + return user_can($this->getSubject(), $capability); + } + + /** + * Check if Subject has capability + * + * Keep compatible with WordPress core + * + * @param string $capability + * + * @return boolean + * + * @access public + */ + public function addCapability($capability) { + return $this->updateCapability($capability, true); + } + + /** + * Remove Capability + * + * @param string $capability + * + * @return boolean + * + * @access public + */ + public function removeCapability($capability) { + return $this->updateCapability($capability, false); + } + + /** + * Reset User Capability + * + * @return array + * + * @access public + */ + public function resetCapability(){ + return delete_user_option($this->getId(), $this->_cap_key); + } + + /** + * Update User's Capability Set + * + * @param string $capability + * @param boolean $grand + * + * @return boolean + * + * @access public + */ + public function updateCapability($capability, $grand){ + //make sure that we have right array + if (is_array($this->getSubject()->aam_caps)){ + $aam_caps = $this->getSubject()->aam_caps; + } else { + $aam_caps = array(); + } + + //add capability + $aam_caps[$capability] = $grand; + //update user data. TODO - Keep eyes on this part + $this->getSubject()->data->aam_caps = $aam_caps; + //save and return the result of operation + return update_user_option($this->getId(), $this->_cap_key, $aam_caps); + } + + /** + * + * @param type $value + * @param type $object + * @param type $object_id + * @return type + */ + public function updateOption($value, $object, $object_id = 0) { + return update_user_option( + $this->getId(), $this->getOptionName($object, $object_id), $value + ); + } + + /** + * + * @param type $object + * @param type $object_id + * @param bool $inherit + * + * @return mixed + */ + public function readOption($object, $object_id = 0, $inherit = true) { + $option = get_user_option( + $this->getOptionName($object, $object_id), $this->getId() + ); + if (empty($option) && $inherit) { + $option = $this->readParentSubject($object, $object_id); + } + + return $option; + } + + /** + * @inheritdoc + */ + public function getParentSubject() { + //try to get this option from the User's Role + $roles = $this->getSubject()->roles; + //first user role is counted only. AAM does not support multi-roles + $subject_role = array_shift($roles); + + if ($subject_role){ + //in case of multisite & current user does not belong to the site + $role = new aam_Control_Subject_Role($subject_role); + } else { + $role = null; + } + + return $role; + } + + /** + * + * @param type $object + * @param type $object_id + * @return type + */ + public function deleteOption($object, $object_id = 0) { + return delete_user_option( + $this->getId(), $this->getOptionName($object, $object_id) + ); + } + + /** + * @inheritdoc + */ + public function hasFlag($flag){ + return get_user_option("aam_{$flag}", $this->getId()); + } + + /** + * @inheritdoc + */ + public function setFlag($flag, $value = true) { + if ($value === true){ + update_user_option($this->getId(), "aam_{$flag}", $value); + } else { + delete_user_option($this->getId(), "aam_{$flag}"); + } + } + + /** + * @inheritdoc + */ + public function clearAllOptions() + { + global $wpdb; + + //clear all settings in usermeta table + $prefix = $wpdb->get_blog_prefix(); + $query = "DELETE FROM {$wpdb->usermeta} WHERE "; + $query .= "meta_key LIKE '{$prefix}aam_%' AND user_id = " . $this->getId(); + $wpdb->query($query); + + //clear all settings in postmeta table + $mask = 'aam_%_' . $this->getId(); + $wpdb->query("DELETE FROM {$wpdb->postmeta} WHERE meta_key LIKE '{$mask}'"); + + $this->clearCache(); //delete cache + $this->resetCapability(); //reset default capabilities + $this->setFlag(aam_Control_Subject::FLAG_MODIFIED, false); //clear flag + + do_action('aam_clear_all_options', $this); + } + + /** + * Prepare option's name + * + * Compile option's name based on object name and object ID. As example if + * object name is "post" and object ID is "5", the compiled option's name is + * aam_post_5. + * + * @param string $object + * @param string|int $object_id + * + * @return string + * + * @access protected + */ + protected function getOptionName($object, $object_id) { + return "aam_{$object}" . ($object_id ? "_{$object_id}" : ''); + } + + /** + * Get Subject UID + * + * @return string + * + * @access public + */ + public function getUID() { + return self::UID; + } + + /** + * Get User's Cache + * + * Read User's option aam_cache and return it + * + * @return array + * + * @access public + */ + public function readCache(){ + $cache = get_user_option('aam_cache', $this->getId()); + + return (is_array($cache) ? $cache : array()); + } + + /** + * Insert or Update User's Cache + * + * @return boolean + * + * @access public + */ + public function updateCache(){ + return update_user_option($this->getId(), 'aam_cache', $this->getObjects()); + } + + /** + * Delete User's Cache + * + * @return boolean + * + * @access public + */ + public function clearCache(){ + return delete_user_option($this->getId(), 'aam_cache'); + } + +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/application/control/subject/visitor.php b/wp-content/plugins/advanced-access-manager/application/control/subject/visitor.php new file mode 100644 index 0000000..5ddeb07 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/control/subject/visitor.php @@ -0,0 +1,201 @@ + + * @copyright Copyright C 2013 Vasyl Martyniuk + * @license GNU General Public License {@link http://www.gnu.org/licenses/} + */ +class aam_Control_Subject_Visitor extends aam_Control_Subject +{ + + /** + * Subject UID: VISITOR + */ + const UID = 'visitor'; + + /** + * Constructor + * + * @param string|int $id + * + * @return void + * + * @access public + */ + public function __construct($id) { + //run parent constructor + parent::__construct(''); + } + + /** + * Retrieve Visitor Subject + * + * @return stdClass + * + * @access protected + */ + protected function retrieveSubject(){ + return new stdClass(); + } + + /** + * + * @return type + */ + public function getCapabilities(){ + return array(); + } + + /** + * + * @param type $value + * @param type $object + * @param type $object_id + * @return type + */ + public function updateOption($value, $object, $object_id = 0){ + return aam_Core_API::updateBlogOption( + $this->getOptionName($object, $object_id), $value + ); + } + + /** + * + * @param type $object + * @param type $object_id + * @return type + */ + public function readOption($object, $object_id = 0){ + return aam_Core_API::getBlogOption( + $this->getOptionName($object, $object_id) + ); + } + + /** + * + * @param type $object + * @param type $object_id + * @return type + */ + public function deleteOption($object, $object_id = 0){ + return aam_Core_API::deleteBlogOption( + $this->getOptionName($object, $object_id) + ); + } + + /** + * + * @param type $object + * @param type $object_id + * @return type + */ + protected function getOptionName($object, $object_id){ + return 'aam_' . self::UID . "_{$object}" . ($object_id ? "_{$object_id}" : ''); + } + + /** + * @inheritdoc + */ + public function hasFlag($flag) { + $option = 'aam_' . self::UID . "_{$flag}"; + return aam_Core_API::getBlogOption($option); + } + + /** + * @inheritdoc + */ + public function setFlag($flag, $value = true) { + $option = 'aam_' . self::UID . "_{$flag}"; + if ($value === true){ + aam_Core_API::updateBlogOption($option, $value); + } else { + aam_Core_API::deleteBlogOption($option); + } + } + + /** + * + * @return type + */ + public function getUID(){ + return self::UID; + } + + /** + * Get Visitor's Cache + * + * Read Visitor's option aam_visitor_cache and return it + * + * @return array + * + * @access public + */ + public function readCache(){ + $cache = aam_Core_API::getBlogOption('aam_visitor_cache', array()); + + return (is_array($cache) ? $cache : array()); + } + + /** + * Insert or Update Visitor's Cache + * + * @return boolean + * + * @access public + */ + public function updateCache(){ + return aam_Core_API::updateBlogOption( + 'aam_visitor_cache', $this->getObjects() + ); + } + + /** + * Delete Visitor's Cache + * + * @return boolean + * + * @access public + */ + public function clearCache(){ + return aam_Core_API::deleteBlogOption('aam_visitor_cache'); + } + + /** + * @inheritdoc + */ + public function clearAllOptions(){ + global $wpdb; + + $mask = 'aam_%_' . self::UID; + //clear postmeta data + $wpdb->query("DELETE FROM {$wpdb->postmeta} WHERE meta_key LIKE '{$mask}'"); + + //clear all settings in options table + //TODO - convert mask to the standart aam_%_[subject] + $mask = 'aam_' . self::UID . '_%'; + $wpdb->query("DELETE FROM {$wpdb->options} WHERE option_name LIKE '{$mask}'"); + + $this->clearCache(); //delete cache + //clear modifield flag + $this->setFlag(aam_Control_Subject::FLAG_MODIFIED, false); + + do_action('aam_clear_all_options', $this); + } + + /** + * @inheritdoc + */ + public function getParentSubject(){ + return null; + } + +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/application/core/api.php b/wp-content/plugins/advanced-access-manager/application/core/api.php new file mode 100644 index 0000000..853b82a --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/core/api.php @@ -0,0 +1,215 @@ + + * @copyright Copyright C 2013 Vasyl Martyniuk + * @license GNU General Public License {@link http://www.gnu.org/licenses/} + */ +final class aam_Core_API { + + /** + * Get current blog's option + * + * @param string $option + * @param mixed $default + * @param int $blog_id; + * + * @return mixed + * + * @access public + * @static + */ + public static function getBlogOption($option, $default = FALSE, $blog_id = null) { + if (is_multisite()) { + $blog = (is_null($blog_id) ? get_current_blog_id() : $blog_id); + $response = get_blog_option($blog, $option, $default); + } else { + $response = get_option($option, $default); + } + + return $response; + } + + /** + * Update Blog Option + * + * @param string $option + * @param mixed $data + * @param int $blog_id + * + * @return bool + * + * @access public + * @static + */ + public static function updateBlogOption($option, $data, $blog_id = null) { + if (is_multisite()) { + $blog = (is_null($blog_id) ? get_current_blog_id() : $blog_id); + $response = update_blog_option($blog, $option, $data); + } else { + $response = update_option($option, $data); + } + + return $response; + } + + /** + * Delete Blog Option + * + * @param string $option + * @param int $blog_id + * + * @return bool + * + * @access public + * @static + */ + public static function deleteBlogOption($option, $blog_id = null) { + if (is_multisite()) { + $blog = (is_null($blog_id) ? get_current_blog_id() : $blog_id); + $response = delete_blog_option($blog, $option); + } else { + $response = delete_option($option); + } + + return $response; + } + + /** + * Initiate HTTP request + * + * @param string $url Requested URL + * @param bool $send_cookies Wheather send cookies or not + * @param bool $return_content Return content or not + * @return bool Always return TRUE + */ + public static function cURL($url, $send_cookies = TRUE, $return_content = FALSE) { + $header = array( + 'User-Agent' => aam_Core_Request::server('HTTP_USER_AGENT') + ); + + $cookies = array(); + if (is_array($_COOKIE) && $send_cookies) { + foreach ($_COOKIE as $key => $value) { + //SKIP PHPSESSID - some servers does not like it for security reason + if ($key !== 'PHPSESSID') { + $cookies[] = new WP_Http_Cookie(array( + 'name' => $key, + 'value' => $value + )); + } + } + } + + $res = wp_remote_request($url, array( + 'headers' => $header, + 'cookies' => $cookies, + 'timeout' => 5) + ); + + if (is_wp_error($res)) { + $result = array( + 'status' => 'error', + 'url' => $url + ); + } else { + $result = array('status' => 'success'); + if ($return_content) { + $result['content'] = $res['body']; + } + } + + return $result; + } + + /** + * Check whether it is Multisite Network panel + * + * @return boolean + * + * @access public + */ + public static function isNetworkPanel() { + return (is_multisite() && is_network_admin() ? TRUE : FALSE); + } + + /** + * Check if SSL is used + * + * @return boolean + * + * @access public + * @static + */ + public static function isSSL() { + if (force_ssl_admin()) { + $response = true; + } elseif (aam_Core_Request::server('HTTPS')) { + $response = true; + } elseif (aam_Core_Request::server('REQUEST_SCHEME') == 'https') { + $response = true; + } else { + $response = false; + } + + return $response; + } + + /** + * Get User Capability Level + * + * Iterate throught User Capabilities and find out the higher User Level + * + * @param WP_User $user + * + * @return int + * + * @access public + * @static + */ + public static function getUserLevel(WP_User $user = null){ + if (is_null($user) ){ + $user = wp_get_current_user(); + } + + $caps = $user->allcaps; + //get users highest level + $level = 0; + do { + $level++; + } while (isset($caps["level_{$level}"]) && $caps["level_{$level}"]); + + return $level - 1; + } + + /** + * Check if current user is super admin + * + * Super admin is someone who is allowed to manage all roles and users. This + * user is defined in ConfigPress parameter aam.super_admin + * + * @return boolean + * + * @access public + * @static + */ + public static function isSuperAdmin(){ + if (is_multisite()){ + $response = is_super_admin(); + } else { + $super_admin = aam_Core_ConfigPress::getParam('aam.super_admin', 0); + $response = ($super_admin == get_current_user_id() ? true : false); + } + + return $response; + } +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/application/core/configpress.php b/wp-content/plugins/advanced-access-manager/application/core/configpress.php new file mode 100644 index 0000000..e9ca84f --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/core/configpress.php @@ -0,0 +1,164 @@ + + * @copyright Copyright C 2013 Vasyl Martyniuk + * @license GNU General Public License {@link http://www.gnu.org/licenses/} + */ +final class aam_Core_ConfigPress { + + /** + * Parsed ConfigPress from the file + * + * @var Zend_Config_Ini + * + * @access private + * @static + */ + private static $_config = null; + + /** + * Read ConfigPress File content + * + * @return string + * + * @access public + * @static + */ + public static function read() { + $filename = aam_Core_API::getBlogOption('aam_configpress', ''); + if ($filename && file_exists(AAM_TEMP_DIR . $filename)) { + $content = file_get_contents(AAM_TEMP_DIR . $filename); + } else { + $content = ''; + } + + return $content; + } + + /** + * Write ConfigPres to file + * + * @param string $content + * + * @return boolean + * + * @access public + * @static + */ + public static function write($content) { + if (is_writable(AAM_TEMP_DIR)) { + $filename = aam_Core_API::getBlogOption('aam_configpress', ''); + //file already was created and name is valid + if (preg_match('/^[a-z0-9]{40}$/i', $filename) === 0) { + $filename = sha1(uniqid('aam')); + aam_Core_API::updateBlogOption('aam_configpress', $filename); + } + $response = file_put_contents( + AAM_TEMP_DIR . $filename, stripcslashes($content) + ); + } else { + $response = false; + } + + return $response; + } + + /** + * Get ConfigPress parameter + * + * @param string $param + * @param mixed $default + * + * @return mixed + * + * @access public + * @static + */ + public static function getParam($param, $default = null) { + //initialize the ConfigPress if empty + if (is_null(self::$_config)) { + $filename = aam_Core_API::getBlogOption('aam_configpress', ''); + if ($filename && file_exists(AAM_TEMP_DIR . $filename)) { + //parse the file content & create Config INI Object + self::parseConfig(AAM_TEMP_DIR . $filename); + } + } + + //find the parameter + $tree = self::$_config; + foreach (explode('.', $param) as $section) { + if (isset($tree->{$section})) { + $tree = $tree->{$section}; + } else { + $tree = $default; + break; + } + } + + return self::parseParam($tree, $default); + } + + /** + * Parse found parameter + * + * @param mixed $param + * @param mixed $default + * + * @return mixed + * + * @access protected + * @static + */ + protected static function parseParam($param, $default) { + if (is_object($param) && isset($param->userFunc)) { + $func = trim($param->userFunc); + if (is_string($func) && is_callable($func)) { + $response = call_user_func($func); + } else { + $response = $default; + } + } else { + $response = $param; + } + + return $response; + } + + /** + * Parse ConfigPress file and create an object + * + * @param string $filename + * + * @return void + * + * @access protected + * @static + */ + protected static function parseConfig($filename) { + //include third party library + if (!class_exists('Zend_Config')) { + require_once(AAM_LIBRARY_DIR . 'Zend/Exception.php'); + require_once(AAM_LIBRARY_DIR . 'Zend/Config/Exception.php'); + require_once(AAM_LIBRARY_DIR . 'Zend/Config.php'); + require_once(AAM_LIBRARY_DIR . 'Zend/Config/Ini.php'); + } + //parse ini file + try { + self::$_config = new Zend_Config_Ini($filename); + } catch (Zend_Config_Exception $e) { + //do nothing + } + } + +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/application/core/console.php b/wp-content/plugins/advanced-access-manager/application/core/console.php new file mode 100644 index 0000000..4cbaacd --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/core/console.php @@ -0,0 +1,71 @@ + + * @copyright Copyright C 2013 Vasyl Martyniuk + * @license GNU General Public License {@link http://www.gnu.org/licenses/} + */ +class aam_Core_Console { + + /** + * List of Runtime errors related to AAM + * + * @var array + * + * @access private + * @static + */ + private static $_warnings = array(); + + /** + * Add new warning + * + * @param string $message + * + * @return void + * + * @access public + * @static + */ + public static function add($message) { + self::$_warnings[] = $message; + } + + /** + * Check if there is any warning during execution + * + * @return boolean + * + * @access public + * @static + */ + public static function hasIssues() { + return (count(self::$_warnings) ? true : false); + } + + /** + * Get list of all warnings + * + * @return array + * + * @access public + * @static + */ + public static function getWarnings() { + return self::$_warnings; + } + +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/application/core/extension.php b/wp-content/plugins/advanced-access-manager/application/core/extension.php new file mode 100644 index 0000000..b8df1a1 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/core/extension.php @@ -0,0 +1,89 @@ + + * @copyright Copyright C 2014 Vasyl Martyniuk + */ +class AAM_Core_Extension { + + /** + * Parent AAM object + * + * @var aam + * + * @access public + */ + private $_parent = null; + + /** + * Constructor + * + * @param aam $parent + * + * @return void + * + * @access public + */ + public function __construct(aam $parent) { + $this->setParent($parent); + } + + /** + * Activate hook + * + * @return boolean + * + * @access public + */ + public function activate(){ + return true; + } + + /** + * Set Parent Object + * + * This is reference to main AAM class + * + * @param aam $parent + * + * @return void + * + * @access public + */ + public function setParent(aam $parent) { + $this->_parent = $parent; + } + + /** + * Get Parent Object + * + * @return aam + * + * @access public + */ + public function getParent() { + return $this->_parent; + } + + /** + * Get current User + * + * @return aam_Control_Subject_User + * + * @access public + */ + public function getUser() { + return $this->getParent()->getUser(); + } + +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/application/core/repository.php b/wp-content/plugins/advanced-access-manager/application/core/repository.php new file mode 100644 index 0000000..d2ebb76 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/core/repository.php @@ -0,0 +1,393 @@ + + * @copyright Copyright C 2014 Vasyl Martyniuk + * @license GNU General Public License {@link http://www.gnu.org/licenses/} + */ +class aam_Core_Repository { + + /** + * Single instance of itself + * + * @var aam_Core_Repository + * + * @access private + * @static + */ + private static $_instance = null; + + /** + * Extension repository + * + * @var array + * + * @access private + */ + private $_repository = array(); + + /** + * Basedir to Extentions repository + * + * @var string + * + * @access private + */ + private $_basedir = ''; + + /** + * Extension list cache + * + * @var array + * + * @access private + */ + private $_cache = array(); + + /** + * Repository Errors + * + * @var array + * + * @access private + */ + private $_errors = array(); + + /** + * Main AAM class + * + * @var aam + * + * @access private + */ + private $_parent; + + /** + * Consturctor + * + * @return void + * + * @access protected + */ + protected function __construct(aam $parent = null) { + $this->setParent($parent); + $this->_basedir = AAM_BASE_DIR . 'extension'; + //retrieve list of extensions from the database + $repository = aam_Core_API::getBlogOption('aam_extensions', array(), 1); + if (is_array($repository)){ + $this->_repository = $repository; + } + } + + /** + * Get single instance of itself + * + * @param aam $parent + * + * @return aam_Core_Repository + * + * @access public + * @static + */ + public static function getInstance(aam $parent = null){ + if (is_null(self::$_instance)){ + self::$_instance = new self($parent); + } + + return self::$_instance; + } + + /** + * Load active extensions + * + * @return void + * + * @access public + */ + public function load() { + //iterate through each active extension and load it + foreach (scandir($this->_basedir) as $module) { + if (!in_array($module, array('.', '..'))) { + $status = aam_Core_ConfigPress::getParam( + "aam.extension.{$module}.status" + ); + if (strtolower($status) !== 'off'){ + $this->bootstrapExtension($module); + } + } + } + } + + /** + * Check if extensions exists + * + * @param string $extension + * + * @return boolean + * + * @access public + */ + public function hasExtension($extension){ + return file_exists( + $this->_basedir . '/' . $this->prepareExtFName($extension) + ); + } + + /** + * Check if license exists + * + * @param string $extension + * + * @return boolean + * + * @access public + */ + public function hasLicense($extension) { + return (isset($this->_repository[$extension]) ? true : false); + } + + /** + * Get Extension info + * + * @param string $ext + * + * @return stdClass + * + * @access public + */ + public function getLicense($ext){ + return ($this->hasLicense($ext) ? $this->_repository[$ext]->license : ''); + } + + /** + * Download extension from the external server + * + * @return void + * + * @access public + */ + public function download() { + $this->initFilesystem(); + $repository = aam_Core_API::getBlogOption('aam_extensions', array(), 1); + + if (is_array($repository)) { + //get the list of extensions + foreach ($repository as $data) { + $this->retrieve($data->license); + } + aam_Core_API::updateBlogOption('aam_extensions', $repository, 1); + } + } + + /** + * Add new extension to repository + * + * @param string $extension + * @param string $license + * + * @return boolean + * + * @access public + */ + public function add($extension, $license){ + $this->initFilesystem(); + $repository = aam_Core_API::getBlogOption('aam_extensions', array(), 1); + + if ($this->retrieve($license)){ + $repository[$extension] = (object) array( + 'license' => $license + ); + aam_Core_API::updateBlogOption('aam_extensions', $repository, 1); + $response = true; + } else { + $response = false; + } + + return $response; + } + + /** + * Remove Extension from the repository + * + * @param string $extension + * + * @return boolean + * + * @access public + */ + public function remove($extension){ + global $wp_filesystem; + + $repository = aam_Core_API::getBlogOption('aam_extensions', array(), 1); + + //if extension has been downloaded as part of dev license, it'll be + //not present in the repository list + if (isset($repository[$extension])){ + unset($repository[$extension]); + aam_Core_API::updateBlogOption('aam_extensions', $repository, 1); + } + + if ($this->hasExtension($extension)){ + $this->initFilesystem(); + $wp_filesystem->rmdir( + $this->_basedir . '/' . $this->prepareExtFName($extension), true + ); + } + + return true; + } + + /** + * + * @param type $extension + * @return type + */ + protected function prepareExtFName($extension) { + return str_replace(' ', '_', $extension); + } + + /** + * Initialize WordPress filesystem + * + * @return void + * + * @access protected + */ + protected function initFilesystem(){ + require_once ABSPATH . 'wp-admin/includes/file.php'; + + //initialize Filesystem + WP_Filesystem(); + } + + /** + * Retrieve extension based on license key + * + * @global WP_Filesystem $wp_filesystem + * @param string $license + * + * @return boolean + * + * @access protected + */ + protected function retrieve($license) { + global $wp_filesystem; + + $url = WPAAM_REST_API . '?method=exchange&license=' . $license; + $res = wp_remote_request($url, array('timeout' => 10)); + $response = false; + if (!is_wp_error($res)) { + //write zip archive to the filesystem first + $zip = AAM_TEMP_DIR . '/' . uniqid(); + $content = base64_decode($res['body']); + if ($content && $wp_filesystem->put_contents($zip, $content)) { + $response = $this->insert($zip); + $wp_filesystem->delete($zip); + } elseif (empty($content)){ + $this->addError(__('Invalid License Key', 'aam')); + } else { + $this->addError( + __('Failed to write file to wp-content/aam folder', 'aam') + ); + } + } else { + $this->addError(__('Failed to reach the WPAAM Server', 'aam')); + } + + return $response; + } + + /** + * + * @param type $zip + * @return boolean + */ + protected function insert($zip) { + $response = true; + if (is_wp_error(unzip_file($zip, $this->_basedir))) { + $response = false; + $this->addError( + __('Failed to insert extension to extension folder', 'aam') + ); + } + + return $response; + } + + /** + * Bootstrap the Extension + * + * In case of any errors, the output can be found in console + * + * @param string $extension + * + * @return void + * + * @access protected + */ + protected function bootstrapExtension($extension) { + $bootstrap = $this->_basedir . "/{$extension}/index.php"; + if (file_exists($bootstrap) && !isset($this->_cache[$extension])) { + //bootstrap the extension + $this->_cache[$extension] = require_once($bootstrap); + $this->_cache[$extension]->activate(); + } + } + + /** + * Set Parent class + * + * @param aam $parent + * + * @return void + * + * @access public + */ + public function setParent($parent){ + $this->_parent = $parent; + } + + /** + * Get Parent class + * + * @return aam + * + * @access public + */ + public function getParent(){ + return $this->_parent; + } + + /** + * Add error + * + * @param string $message + * + * @access public + */ + public function addError($message){ + $this->_errors[] = $message; + } + + /** + * Get all errors + * + * @return array + * + * @access public + */ + public function getErrors(){ + return $this->_errors; + } + +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/application/core/request.php b/wp-content/plugins/advanced-access-manager/application/core/request.php new file mode 100644 index 0000000..1dc45fe --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/core/request.php @@ -0,0 +1,110 @@ + + * @copyright Copyright C 2013 Vasyl Martyniuk + * @license GNU General Public License {@link http://www.gnu.org/licenses/} + */ +class aam_Core_Request { + + /** + * Get parameter from global _GET array + * + * @param string $param GET Parameter + * @param mixed $default Default value + * + * @return mixed + * + * @access public + */ + public static function get($param = null, $default = null) { + return self::readArray($_GET, $param, $default); + } + + /** + * Get parameter from global _POST array + * + * @param string $param POST Parameter + * @param mixed $default Default value + * + * @return mixed + * + * @access public + */ + public static function post($param = null, $default = null) { + return self::readArray($_POST, $param, $default); + } + + /** + * Get parameter from global _REQUEST array + * + * @param string $param REQUEST Parameter + * @param mixed $default Default value + * + * @return mixed + * + * @access public + * @static + */ + public static function request($param = null, $default = null) { + return self::readArray($_REQUEST, $param, $default); + } + + /** + * Get parameter from global _SERVER array + * + * @param string $param SERVER Parameter + * @param mixed $default Default value + * + * @return mixed + * + * @access public + * @static + */ + public static function server($param = null, $default = null) { + return self::readArray($_SERVER, $param, $default); + } + + /** + * Check array for specified parameter and return the it's value or + * default one + * + * @param array &$array Global array _GET, _POST etc + * @param string $param Array Parameter + * @param mixed $default Default value + * + * @return mixed + * + * @access protected + * @static + */ + protected static function readArray(&$array, $param, $default) { + $value = $default; + if (is_null($param)) { + $value = $array; + } else { + $chunks = explode('.', $param); + $value = $array; + foreach ($chunks as $chunk) { + if (isset($value[$chunk])) { + $value = $value[$chunk]; + } else { + $value = $default; + break; + } + } + } + + return $value; + } + +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/application/core/settings.php b/wp-content/plugins/advanced-access-manager/application/core/settings.php new file mode 100644 index 0000000..58e0c1a --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/core/settings.php @@ -0,0 +1,89 @@ + + * @copyright Copyright C Vasyl Martyniuk + * @license GNU General Public License {@link http://www.gnu.org/licenses/} + */ +final class aam_Core_Settings { + + /** + * Collection of settings + * + * @var array + * + * @access private + * @static + */ + private static $_collection = array(); + + /** + * Get Setting + * + * @param string $setting + * @param mixed $default + * + * @return mixed + * + * @access public + * @static + */ + public static function get($setting, $default = null) { + if (empty(self::$_collection)) { + self::init(); + } + + if (isset(self::$_collection[$setting])) { + $response = self::$_collection[$setting]; + } else { + $response = $default; + } + + return apply_filters('aam_core_setting', $response, $setting); + } + + /** + * Initialize all core & default settings + * + * @return void + * + * @access protected + * @static + */ + protected static function init() { + //initialize default posts & terms restrictions + self::$_collection['term_frontend_restrictions'] = array( + aam_Control_Object_Term::ACTION_BROWSE, + aam_Control_Object_Term::ACTION_EXCLUDE, + aam_Control_Object_Term::ACTION_LIST + ); + self::$_collection['term_backend_restrictions'] = array( + aam_Control_Object_Term::ACTION_BROWSE, + aam_Control_Object_Term::ACTION_EDIT, + aam_Control_Object_Term::ACTION_LIST + ); + self::$_collection['post_frontend_restrictions'] = array( + aam_Control_Object_Post::ACTION_READ, + aam_Control_Object_Post::ACTION_EXCLUDE, + aam_Control_Object_Post::ACTION_COMMENT + ); + self::$_collection['post_backend_restrictions'] = array( + aam_Control_Object_Post::ACTION_TRASH, + aam_Control_Object_Post::ACTION_DELETE, + aam_Control_Object_Post::ACTION_EDIT + ); + } + +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/application/core/update.php b/wp-content/plugins/advanced-access-manager/application/core/update.php new file mode 100644 index 0000000..846e775 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/core/update.php @@ -0,0 +1,147 @@ + + * @copyright Copyright C Vasyl Martyniuk + * @license GNU General Public License {@link http://www.gnu.org/licenses/} + */ +final class aam_Core_Update { + + /** + * Reference to AAM + * + * @var aam + * + * @access private + */ + + private $_parent = null; + /** + * List of stages + * + * @var array + * + * @access private + */ + private $_stages = array(); + + /** + * Constructoor + * + * @return void + * + * @access public + */ + public function __construct($parent) { + $this->_parent = $parent; + //register update stages + $this->_stages = apply_filters('aam_update_stages', array( + array($this, 'downloadRepository'), + array($this, 'flashCache'), + array($this, 'updateFlag') + )); + } + + /** + * Run the update if necessary + * + * @return void + * + * @access public + */ + public function run() { + foreach ($this->_stages as $stage) { + //break the change if any stage failed + if (call_user_func($stage) === false) { + break; + } + } + } + + /** + * Download the Extension Repository + * + * This forces the system to retrieve the new set of extensions based on + * license key + * + * @return boolean + * + * @access public + */ + public function downloadRepository() { + $response = true; + if ($extensions = aam_Core_API::getBlogOption('aam_extensions')) { + if (is_array($extensions)){ + $repo = aam_Core_Repository::getInstance($this->_parent); + $repo->download(); + } + } + + return $response; + } + + /** + * Flash all cache + * + * @return boolean + * + * @access public + */ + public function flashCache(){ + global $wpdb; + + //clear visitor's cache first + if (is_multisite()) { + //get all sites first and iterate through each + $query = 'SELECT blog_id FROM ' . $wpdb->blogs; + $blog_list = $wpdb->get_results($query); + if (is_array($blog_list)) { + $query = 'DELETE FROM %s WHERE `option_name` = "aam_%s_cache"'; + foreach ($blog_list as $blog) { + $wpdb->query( + sprintf( + $query, + $wpdb->get_blog_prefix($blog->blog_id) . 'options', + aam_Control_Subject_Visitor::UID + ) + ); + } + } + } else { + $query = 'DELETE FROM ' . $wpdb->options . ' '; + $query .= 'WHERE `option_name` = "aam_' . aam_Control_Subject_Visitor::UID . '_cache"'; + $wpdb->query($query); + } + + //clear users cache + $query = 'DELETE FROM ' . $wpdb->usermeta . ' '; + $query .= 'WHERE `meta_key` = "aam_cache"'; + $wpdb->query($query); + + return true; + } + + /** + * Change the Update flag + * + * This will stop to run the update again + * + * @return boolean + * + * @access public + */ + public function updateFlag() { + return aam_Core_API::updateBlogOption('aam_updated', AAM_VERSION, 1); + } + +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/application/view/abstract.php b/wp-content/plugins/advanced-access-manager/application/view/abstract.php new file mode 100644 index 0000000..e9419a4 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/view/abstract.php @@ -0,0 +1,148 @@ + + * @copyright Copyright C Vasyl Martyniuk + * @license GNU General Public License {@link http://www.gnu.org/licenses/} + */ +abstract class aam_View_Abstract { + + /** + * Current Subject + * + * @var aam_Control_Subject + * + * @access private + */ + static private $_subject = null; + + /** + * Construct the Object + * + * Instantiate the subject one type that is going to be shared with all view + * models. + * + * @return void + * + * @access public + */ + public function __construct() { + if (is_null(self::$_subject)) { + $subject_class = 'aam_Control_Subject_' . ucfirst( + trim(aam_Core_Request::request('subject'), '') + ); + if (class_exists($subject_class)){ + $this->setSubject(new $subject_class( + aam_Core_Request::request('subject_id') + )); + //check if view for current subject can be managed + $this->isManagable(); + } + } + + //control default option list + add_filter('aam_default_option_list', array($this, 'defaultOption')); + } + + /** + * Check if view can be managed + * + * @return void + * + * @access public + * @throw Exception You are not allowed to manage current view + */ + public function isManagable(){ + if ($this->getSubject()->getUID() == aam_Control_Subject_Role::UID){ + $caps = $this->getSubject()->capabilities; + } elseif ($this->getSubject()->getUID == aam_Control_Subject_User::UID){ + //AAM does not support multi-roles. Get only one first role + $roles = $this->getSubject()->roles; + $caps = get_role(array_shift($roles))->capabilities; + } else { + $caps = apply_filters('aam_managable_capabilities', null, $this); + } + + if ($caps && !aam_Core_API::isSuperAdmin()){ + //get user's highest level + $level = aam_Core_API::getUserLevel(); + if (!empty($caps['level_' . $level]) && $caps['level_' . $level]){ + Throw new Exception( + __('You are not allowed to manager current view', 'aam') + ); + } + } + + return true; + } + + /** + * Control default set of options + * + * This is very important function. It control the default option for each + * feature. It covers the scenario when the set of UI options is represented by + * checkboxes. + * + * @param array $options + * + * @return array + * + * @access public + */ + public function defaultOption($options){ + return $options; + } + + /** + * Get Subject + * + * @return aam_Control_Subject + * + * @access public + */ + public function getSubject() { + return self::$_subject; + } + + /** + * Set Subject + * + * @param aam_Control_Subject $subject + * + * @return void + * + * @access public + */ + public function setSubject(aam_Control_Subject $subject) { + self::$_subject = $subject; + } + + /** + * Load View template + * + * @param string $tmpl_path + * + * @return string + * + * @access public + */ + public function loadTemplate($tmpl_path) { + ob_start(); + require_once($tmpl_path); + $content = ob_get_contents(); + ob_end_clean(); + + return $content; + } + +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/application/view/capability.php b/wp-content/plugins/advanced-access-manager/application/view/capability.php new file mode 100644 index 0000000..8b60200 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/view/capability.php @@ -0,0 +1,225 @@ + + * @copyright Copyright C 2013 Vasyl Martyniuk + * @license GNU General Public License {@link http://www.gnu.org/licenses/} + */ +class aam_View_Capability extends aam_View_Abstract { + + /** + * + * @var type + */ + private $_groups = array( + 'system' => array( + 'level_0', 'level_1', 'level_2', 'level_3', 'level_4', 'level_5', + 'level_6', 'level_7', 'level_8', 'level_9', 'level_10' + ), + 'post' => array( + 'delete_others_pages', 'delete_others_posts', 'delete_pages', + 'delete_posts', 'delete_private_pages', 'delete_private_posts', + 'delete_published_pages', 'delete_published_posts', 'edit_others_pages', + 'edit_others_posts', 'edit_pages', 'edit_private_posts', + 'edit_private_pages', 'edit_posts', 'edit_published_pages', + 'edit_published_posts', 'publish_pages', 'publish_posts', 'read', + 'read_private_pages', 'read_private_posts', 'edit_permalink' + ), + 'backend' => array( + 'aam_manage', 'activate_plugins', 'add_users', 'create_users', + 'delete_users', 'delete_themes', 'edit_dashboard', 'edit_files', + 'edit_plugins', 'edit_theme_options', 'edit_themes', 'edit_users', + 'export', 'import', 'install_plugins', 'install_themes', 'list_users', + 'manage_options', 'manage_links', 'manage_categories', 'promote_users', + 'unfiltered_html', 'unfiltered_upload', 'update_themes', 'update_plugins', + 'update_core', 'upload_files', 'delete_plugins', 'remove_users', + 'switch_themes' + ) + ); + + /** + * + * @return type + */ + public function retrieveList() { + $response = array( + 'aaData' => array(), + 'aaDefault' => 1 //Default set of Capabilities indicator + ); + + $subject = $this->getSubject(); + $roles = new WP_Roles(); + if ($subject->getUID() === aam_Control_Subject_Role::UID) { + //prepare list of all capabilities + $caps = array(); + foreach ($roles->role_objects as $role) { + $caps = array_merge($caps, $role->capabilities); + } + //init all caps + foreach ($caps as $capability => $grant) { + $response['aaData'][] = array( + $capability, + ($subject->hasCapability($capability) ? 1 : 0), + $this->getGroup($capability), + $this->getHumanText($capability), + '' + ); + } + } else { + $role_list = $subject->roles; + $role = $roles->get_role(array_shift($role_list)); + foreach ($role->capabilities as $capability => $grant) { + $response['aaData'][] = array( + $capability, + ($subject->hasCapability($capability) ? 1 : 0), + $this->getGroup($capability), + $this->getHumanText($capability), + '' + ); + $response['aaDefault'] = ($subject->isDefaultCapSet() ? 1 : 0); + } + } + + return json_encode($response); + } + + /** + * + * @return type + */ + public function getGroupList(){ + return apply_filters('aam_capability_groups', array( + __('System', 'aam'), + __('Post & Page', 'aam'), + __('Backend Interface', 'aam'), + __('Miscellaneous', 'aam') + )); + } + + /** + * + * @return type + */ + public function retrieveRoleCapabilities() { + return json_encode(array( + 'status' => 'success', + 'capabilities' => $this->getSubject()->getCapabilities() + )); + } + + /** + * + * @return type + */ + public function addCapability() { + $roles = new WP_Roles(); + $capability = trim(aam_Core_Request::post('capability')); + $unfiltered = intval(aam_Core_Request::post('unfiltered')); + + if ($capability) { + if ($unfiltered){ + $normalized = $capability; + } else { + $normalized = str_replace(' ', '_', strtolower($capability)); + } + //add the capability to administrator's role as default behavior + $roles->add_cap('administrator', $normalized); + $response = array('status' => 'success', 'capability' => $normalized); + } else { + $response = array('status' => 'failure'); + } + + return json_encode($response); + } + + /** + * + * @return type + */ + public function deleteCapability() { + $roles = new WP_Roles(); + $capability = trim(aam_Core_Request::post('capability')); + + if ($capability) { + foreach ($roles->role_objects as $role) { + $role->remove_cap($capability); + } + $response = array('status' => 'success'); + } else { + $response = array('status' => 'failure'); + } + + return json_encode($response); + } + + /** + * Restore default user capabilities + * + * @return string + * + * @access public + */ + public function restoreCapability(){ + $subject = $this->getSubject(); + $response = array('status' => 'failure'); + if (($subject->getUID() == aam_Control_Subject_User::UID) + && $subject->resetCapability()){ + $response['status'] = 'success'; + } + + return json_encode($response); + } + + /** + * + * @param type $text + * @return type + */ + protected function getHumanText($text) { + $parts = preg_split('/_/', $text); + if (is_array($parts)) { + foreach ($parts as &$part) { + $part = ucfirst($part); + } + } + + return implode(' ', $parts); + } + + /** + * + * @param type $capability + * @return type + */ + protected function getGroup($capability) { + if (in_array($capability, $this->_groups['system'])) { + $response = __('System', 'aam'); + } elseif (in_array($capability, $this->_groups['post'])) { + $response = __('Post & Page', 'aam'); + } elseif (in_array($capability, $this->_groups['backend'])) { + $response = __('Backend Interface', 'aam'); + } else { + $response = __('Miscellaneous', 'aam'); + } + + return apply_filters('aam_capability_group', $response, $capability); + } + + /** + * + * @return type + */ + public function content() { + return $this->loadTemplate(dirname(__FILE__) . '/tmpl/capability.phtml'); + } + +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/application/view/collection.php b/wp-content/plugins/advanced-access-manager/application/view/collection.php new file mode 100644 index 0000000..e13f7bb --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/view/collection.php @@ -0,0 +1,285 @@ + + * @copyright Copyright C Vasyl Martyniuk + * @license GNU General Public License {@link http://www.gnu.org/licenses/} + */ +class aam_View_Collection { + + /** + * Collection of subjects + * + * @var array + * + * @access private + * @static + */ + static private $_subjects = array(); + + /** + * Collection of features + * + * @var array + * + * @access private + * @static + */ + static private $_features = array(); + + /** + * Register Subject + * + * @param stdClass $subject + * + * @return boolean + * + * @access public + * @static + */ + public static function registerSubject(stdClass $subject) { + self::$_subjects[] = $subject; + + return true; + } + + /** + * Register UI Feature + * + * @param stdClass $feature + * + * @return boolean + * + * @access public + * @static + */ + public static function registerFeature(stdClass $feature) { + $response = false; + + if (empty($feature->capability)){ + $cap = aam_Core_ConfigPress::getParam( + 'aam.default_feature_capability', 'administrator' + ); + } else { + $cap = $feature->capability; + } + + if (self::accessGranted($feature->uid, $cap)) { + self::$_features[] = $feature; + $response = true; + } + + return $response; + } + + /** + * Check if feature registered + * + * If feature is restricted for current user or it does not exist, this function + * will return false result + * + * @param string $search + * + * @return boolean + * + * @access public + * @static + */ + public static function hasFeature($search){ + $found = false; + foreach(self::$_features as $feature){ + if ($feature->uid == $search){ + $found = true; + break; + } + } + + return $found; + } + + /** + * Check if subject is registered + * + * @param string $search + * + * @return boolean + * + * @access public + * @static + */ + public static function hasSubject($search){ + $found = false; + foreach(self::$_subjects as $subject){ + if ($subject->uid == $search){ + $found = true; + break; + } + } + + return $found; + } + + /** + * Get initiated feature + * + * Find the feature in the collection of registered features and initiate it if + * was not initiated already + * + * @param string $search + * @return boolean + */ + public static function getFeature($search){ + $response = null; + foreach(self::$_features as $feature){ + if ($feature->uid == $search){ + $response = self::initController($feature); + break; + } + } + + return $response; + } + + /** + * Get initiated subject + * + * Find the subject in the collection of registered subjects and initiate it if + * was not initiated already + * + * @param string $search + * @return boolean + */ + public static function getSubject($search){ + $response = null; + foreach(self::$_subjects as $subject){ + if ($subject->uid == $search){ + $response = self::initController($subject); + break; + } + } + + return $response; + } + + /** + * Initiate the Controller + * + * @param stdClass $feature + * + * @return stdClass + * + * @access public + * @static + */ + public static function initController(stdClass $feature){ + if (is_string($feature->controller)){ + $feature->controller = new $feature->controller; + } + + return $feature; + } + + /** + * Retrieve subjects + * + * @return array + * + * @access public + * @static + */ + public static function retrieveSubjects() { + $subjects = self::$_subjects; //keep originally copy + usort($subjects, 'aam_View_Collection::positionOrder'); + + //initiate controller + foreach($subjects as $subject){ + self::initController($subject); + } + + return $subjects; + } + + /** + * Retrieve list of features + * + * Retrieve sorted list of featured based on current subject + * + * @param aam_Control_Subject $subject + * + * @return array + * + * @access public + * @static + */ + public static function retriveFeatures(aam_Control_Subject $subject) { + $response = array(); + + foreach (self::$_features as $feature) { + if (in_array($subject->getUID(), $feature->subjects)) { + $response[] = self::initController($feature); + } + } + usort($response, 'aam_View_Collection::positionOrder'); + + return $response; + } + + /** + * Check if current user can use feature + * + * Make sure that current user has enough capabilities to use feature + * + * @param string $feature + * @param string $cap + * + * @return boolean + * + * @access protected + * @static + */ + protected static function accessGranted($feature, $cap = 'administrator') { + $capability = aam_Core_ConfigPress::getParam( + "aam.feature.{$feature}.capability", $cap + ); + + return current_user_can($capability); + } + + /** + * Order list of features or subjectes + * + * Reorganize the list based on "position" attribute + * + * @param array $features + * + * @return array + * + * @access public + * @static + */ + public static function positionOrder($feature_a, $feature_b){ + $pos_a = (empty($feature_a->position) ? 9999 : $feature_a->position); + $pos_b = (empty($feature_b->position) ? 9999 : $feature_b->position); + + if ($pos_a == $pos_b){ + $response = 0; + } else { + $response = ($pos_a < $pos_b ? -1 : 1); + } + + return $response; + } + +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/application/view/configpress.php b/wp-content/plugins/advanced-access-manager/application/view/configpress.php new file mode 100644 index 0000000..2698b4f --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/view/configpress.php @@ -0,0 +1,30 @@ + + * @copyright Copyright C 2013 Vasyl Martyniuk + * @license GNU General Public License {@link http://www.gnu.org/licenses/} + */ +class aam_View_ConfigPress extends aam_View_Abstract { + + /** + * Run the Manager + * + * @return string + * + * @access public + */ + public function run() { + return $this->loadTemplate(dirname(__FILE__) . '/tmpl/configpress.phtml'); + } + +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/application/view/event.php b/wp-content/plugins/advanced-access-manager/application/view/event.php new file mode 100644 index 0000000..47062f4 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/view/event.php @@ -0,0 +1,83 @@ + + * @copyright Copyright C 2013 Vasyl Martyniuk + * @license GNU General Public License {@link http://www.gnu.org/licenses/} + */ +class aam_View_Event extends aam_View_Abstract { + + /** + * + * @return type + */ + public function retrieveEventList() { + $response = array('aaData' => array()); + $events = $this->getSubject()->getObject(aam_Control_Object_Event::UID); + foreach ($events->getOption() as $event) { + $response['aaData'][] = array( + $event['event'], + $event['event_specifier'], + $event['post_type'], + $event['action'], + $event['action_specifier'], + '' + ); + } + + return json_encode($response); + } + + /** + * + * @global type $wp_post_statuses + * @return type + */ + public function getPostStatuses() { + global $wp_post_statuses; + + return $wp_post_statuses; + } + + /** + * + * @global type $wp_post_types + * @return type + */ + public function getPostTypes() { + global $wp_post_types; + + return $wp_post_types; + } + + /** + * + * @return type + */ + public function content() { + return $this->loadTemplate(dirname(__FILE__) . '/tmpl/event.phtml'); + } + + /** + * @inheritdoc + */ + public function defaultOption($options) { + //make sure that some parts are always in place + if (!isset($options[aam_Control_Object_Event::UID])) { + $options[aam_Control_Object_Event::UID] = array(); + } + + return $options; + } + + +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/application/view/extension.php b/wp-content/plugins/advanced-access-manager/application/view/extension.php new file mode 100644 index 0000000..da2707d --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/view/extension.php @@ -0,0 +1,115 @@ + + * @copyright Copyright C Vasyl Martyniuk + * @license GNU General Public License {@link http://www.gnu.org/licenses/} + */ +class aam_View_Extension extends aam_View_Abstract { + + /** + * Extensions Repository + * + * @var aam_Core_Repository + * + * @access private + */ + private $_repository; + + /** + * Constructor + * + * The filter "aam_cpanel" can be used to control the Control Panel items. + * + * @return void + * + * @access public + */ + public function __construct() { + parent::__construct(); + $this->_repository = aam_Core_Repository::getInstance(); + } + + /** + * Install extension + * + * @return string + * + * @access public + */ + public function install(){ + $license = aam_Core_Request::post('license'); + $ext = aam_Core_Request::post('extension'); + + if ($license && $this->getRepository()->add($ext, $license)){ + $response = array('status' => 'success'); + } else { + $response = array( + 'status' => 'failure', + 'reasons' => $this->getRepository()->getErrors() + ); + } + + return json_encode($response); + } + + /** + * Remove extension + * + * @return string + * + * @access public + */ + public function remove(){ + $license = aam_Core_Request::post('license'); + $ext = aam_Core_Request::post('extension'); + + if ($this->getRepository()->remove($ext, $license)){ + $response = array('status' => 'success'); + } else { + $response = array( + 'status' => 'failure', + 'reasons' => $this->getRepository()->getErrors() + ); + } + + return json_encode($response); + } + + /** + * Run the Manager + * + * @return string + * + * @access public + */ + public function run() { + //check if plugins/advanced-access-manager/extension is writable + if (!is_writable(AAM_BASE_DIR . 'extension')){ + aam_Core_Console::add(__( + 'Folder advanced-access-manager/extension is not writable', 'aam' + )); + } + + return $this->loadTemplate(dirname(__FILE__) . '/tmpl/extension.phtml'); + } + + /** + * + * @return aam_Core_Respository + */ + public function getRepository(){ + return $this->_repository; + } + +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/application/view/help.php b/wp-content/plugins/advanced-access-manager/application/view/help.php new file mode 100644 index 0000000..9498e25 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/view/help.php @@ -0,0 +1,51 @@ + + * @copyright Copyright C 2013 Vasyl Martyniuk + * @license GNU General Public License {@link http://www.gnu.org/licenses/} + */ +class aam_View_Help extends aam_View_Abstract { + + /** + * Get View content + * + * @return string + * + * @access public + */ + public function content($screen) { + $basedir = dirname(__FILE__) . '/tmpl/'; + $screen->add_help_tab(array( + 'id' => 'faq', + 'title' => 'FAQ', + 'content' => $this->loadTemplate($basedir . 'help_faq.phtml') + )); + //add overview tab + $screen->add_help_tab(array( + 'id' => 'overview', + 'title' => 'Overview', + 'content' => $this->loadTemplate($basedir . 'help_overview.phtml') + )); + $screen->add_help_tab(array( + 'id' => 'extensions', + 'title' => 'Extensions', + 'content' => $this->loadTemplate($basedir . 'help_extensions.phtml') + )); + $screen->add_help_tab(array( + 'id' => 'developers', + 'title' => 'Developers', + 'content' => $this->loadTemplate($basedir . 'help_developers.phtml') + )); + } + +} diff --git a/wp-content/plugins/advanced-access-manager/application/view/manager.php b/wp-content/plugins/advanced-access-manager/application/view/manager.php new file mode 100644 index 0000000..892ffcf --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/view/manager.php @@ -0,0 +1,873 @@ + + * @copyright Copyright C Vasyl Martyniuk + * @license GNU General Public License {@link http://www.gnu.org/licenses/} + */ +class aam_View_Manager extends aam_View_Abstract { + + /** + * Admin Menu Feature + */ + const FEATURE_ADMIN_MENU = 'admin_menu'; + + /** + * Metaboxes & Widgetst Feature + */ + const FEATURE_METABOX = 'metabox'; + + /** + * Capability Feature + */ + const FEATURE_CAPABILITY = 'capability'; + + /** + * Post Access Feature + */ + const FEATURE_POST_ACCESS = 'post_access'; + + /** + * Event Manager Feature + */ + const FEATURE_EVENT_MANAGER = 'event_manager'; + + /** + * Default ajax response + */ + const DEFAULT_AJAX_RESPONSE = -1; + + /** + * Constructor + * + * The filter "aam_cpanel" can be used to control the Control Panel items. + * + * @return void + * + * @access public + */ + public function __construct() { + parent::__construct(); + + $this->registerDefaultSubjects(); + $this->registerDefaultFeatures(); + } + + /** + * Registet default list of subjects + * + * @return void + * + * @access protected + */ + protected function registerDefaultSubjects() { + aam_View_Collection::registerSubject((object)array( + 'position' => 5, + 'segment' => aam_Control_Subject_Role::UID, + 'label' => __('Roles', 'aam'), + 'title' => __('Role Manager', 'aam'), + 'class' => 'manager-item manager-item-role', + 'uid' => 'role', + 'controller' => 'aam_View_Role' + )); + + aam_View_Collection::registerSubject((object)array( + 'position' => 10, + 'segment' => aam_Control_Subject_User::UID, + 'label' => __('Users', 'aam'), + 'title' => __('User Manager', 'aam'), + 'class' => 'manager-item manager-item-user', + 'uid' => 'user', + 'controller' => 'aam_View_User' + )); + + aam_View_Collection::registerSubject((object)array( + 'position' => 15, + 'segment' => aam_Control_Subject_Visitor::UID, + 'label' => __('Visitor', 'aam'), + 'title' => __('Visitor Manager', 'aam'), + 'class' => 'manager-item manager-item-visitor', + 'uid' => 'visitor', + 'controller' => 'aam_View_Visitor' + )); + } + + /** + * Prepare default list of features + * + * Check if current user has proper capability to use the feature + * + * @return array + * + * @access protected + */ + protected function registerDefaultFeatures() { + $features = array(); + + //Main Menu Tab + aam_View_Collection::registerFeature((object)array( + 'uid' => self::FEATURE_ADMIN_MENU, + 'position' => 5, + 'title' => __('Admin Menu', 'aam'), + 'subjects' => array( + aam_Control_Subject_Role::UID, aam_Control_Subject_User::UID + ), + 'controller' => 'aam_View_Menu' + )); + + + //Metaboxes & Widgets Tab + aam_View_Collection::registerFeature((object)array( + 'uid' => self::FEATURE_METABOX, + 'position' => 10, + 'title' => __('Metabox & Widget', 'aam'), + 'subjects' => array( + aam_Control_Subject_Role::UID, + aam_Control_Subject_User::UID, + aam_Control_Subject_Visitor::UID + ), + 'controller' => 'aam_View_Metabox' + )); + + //Capability Tab + aam_View_Collection::registerFeature((object)array( + 'uid' => self::FEATURE_CAPABILITY, + 'position' => 15, + 'title' => __('Capability', 'aam'), + 'subjects' => array( + aam_Control_Subject_Role::UID, aam_Control_Subject_User::UID + ), + 'controller' => 'aam_View_Capability' + )); + + //Posts & Pages Tab + aam_View_Collection::registerFeature((object)array( + 'uid' => self::FEATURE_POST_ACCESS, + 'position' => 20, + 'title' => __('Posts & Pages', 'aam'), + 'subjects' => array( + aam_Control_Subject_Role::UID, + aam_Control_Subject_User::UID, + aam_Control_Subject_Visitor::UID + ), + 'controller' => 'aam_View_Post' + )); + + //Event Manager Tab + aam_View_Collection::registerFeature((object)array( + 'uid' => self::FEATURE_EVENT_MANAGER, + 'position' => 25, + 'title' => __('Event Manager', 'aam'), + 'subjects' => array( + aam_Control_Subject_Role::UID, aam_Control_Subject_User::UID + ), + 'controller' =>'aam_View_Event' + )); + + return $features; + } + + /** + * Run the Manager + * + * @return string + * + * @access public + */ + public function run() { + return $this->loadTemplate(dirname(__FILE__) . '/tmpl/manager.phtml'); + } + + /** + * Process the ajax call + * + * @return string + * + * @access public + */ + public function processAjax(){ + $sub_method = aam_Core_Request::request('sub_action'); + + if (method_exists($this, $sub_method)) { + $response = call_user_func(array($this, $sub_method)); + } else { + $response = apply_filters( + 'aam_ajax_call', self::DEFAULT_AJAX_RESPONSE, $this->getSubject() + ); + } + + return $response; + } + + /** + * Render the Main Control Area + * + * @return void + * + * @access public + */ + public function retrieveFeatures() { + $features = aam_View_Collection::retriveFeatures($this->getSubject()); + if (count($features)){ + ?> +
+ uid . '">'; + echo '' . $feature->title . '
'; + } + ?> + +
+ controller->content($this->getSubject()); + } + ?> +
+
+ '; + echo __('You are not allowed to manage any AAM Features.', 'aam'); + echo '

'; + } + do_action('aam_post_features_render'); + } + + /** + * Load List of Metaboxes + * + * @return string + * + * @access public + */ + public function loadMetaboxes(){ + if (aam_View_Collection::hasFeature(self::FEATURE_METABOX)){ + $metabox = new aam_View_Metabox; + $response = $metabox->retrieveList(); + } else { + $response = self::DEFAULT_AJAX_RESPONSE; + } + + return $response; + } + + /** + * Initialize list of metaboxes from individual link + * + * @return string + * + * @access public + */ + public function initLink(){ + if (aam_View_Collection::hasFeature(self::FEATURE_METABOX)){ + $metabox = new aam_View_Metabox; + $response = $metabox->initLink(); + } else { + $response = self::DEFAULT_AJAX_RESPONSE; + } + + return $response; + } + + /** + * Retrieve Available for Editing Role List + * + * @return string + * + * @access public + */ + public function roleList(){ + if (aam_View_Collection::hasSubject(aam_Control_Subject_Role::UID)){ + $role = new aam_View_Role; + $response = $role->retrieveList(); + } else { + $response = self::DEFAULT_AJAX_RESPONSE; + } + + return $response; + } + + /** + * Retrieve Pure Role List + * + * @return string + * + * @access public + */ + public function plainRoleList(){ + if (aam_View_Collection::hasSubject(aam_Control_Subject_Role::UID)){ + $role = new aam_View_Role; + $response = $role->retrievePureList(); + } else { + $response = self::DEFAULT_AJAX_RESPONSE; + } + + return $response; + } + + /** + * Add New Role + * + * @return string + * + * @access public + */ + public function addRole() + { + if (aam_View_Collection::hasSubject(aam_Control_Subject_Role::UID)) { + $role = new aam_View_Role; + $response = $role->add(); + } else { + $response = self::DEFAULT_AJAX_RESPONSE; + } + + return $response; + } + + /** + * Edit Existing Role + * + * @return string + * + * @access public + */ + public function editRole() + { + if (aam_View_Collection::hasSubject(aam_Control_Subject_Role::UID)) { + $role = new aam_View_Role; + $response = $role->edit(); + } else { + $response = self::DEFAULT_AJAX_RESPONSE; + } + + return $response; + } + + /** + * Delete Existing Role + * + * @return string + * + * @access public + */ + public function deleteRole() + { + if (aam_View_Collection::hasSubject(aam_Control_Subject_Role::UID)) { + $role = new aam_View_Role; + $response = $role->delete(); + } else { + $response = self::DEFAULT_AJAX_RESPONSE; + } + + return $response; + } + + /** + * Retrieve Available User List + * + * @return string + * + * @access public + */ + public function userList() + { + if (aam_View_Collection::hasSubject(aam_Control_Subject_User::UID)) { + $user = new aam_View_User; + $response = $user->retrieveList(); + } else { + $response = self::DEFAULT_AJAX_RESPONSE; + } + + return $response; + } + + /** + * Block Selected User + * + * @return string + * + * @access public + */ + public function blockUser() + { + if (aam_View_Collection::hasSubject(aam_Control_Subject_User::UID)) { + $user = new aam_View_User; + $response = $user->block(); + } else { + $response = self::DEFAULT_AJAX_RESPONSE; + } + + return $response; + } + + /** + * Delete Selected User + * + * @return string + * + * @access public + */ + public function deleteList() + { + if (aam_View_Collection::hasSubject(aam_Control_Subject_User::UID)) { + $user = new aam_View_User; + $response = $user->delete(); + } else { + $response = self::DEFAULT_AJAX_RESPONSE; + } + + return $response; + } + + /** + * Load list of capabilities + * + * @return string + * + * @access public + */ + public function loadCapabilities() + { + if (aam_View_Collection::hasFeature(self::FEATURE_CAPABILITY)){ + $capability = new aam_View_Capability; + $response = $capability->retrieveList(); + } else { + $response = self::DEFAULT_AJAX_RESPONSE; + } + + return $response; + } + + /** + * Get list of Capabilities by selected Role + * + * @return string + * + * @access public + */ + public function roleCapabilities() + { + if (aam_View_Collection::hasFeature(self::FEATURE_CAPABILITY)){ + $capability = new aam_View_Capability; + $response = $capability->retrieveRoleCapabilities(); + } else { + $response = self::DEFAULT_AJAX_RESPONSE; + } + + return $response; + } + + /** + * Add New Capability + * + * @return string + * + * @access public + */ + public function addCapability() + { + if (aam_View_Collection::hasFeature(self::FEATURE_CAPABILITY)){ + $capability = new aam_View_Capability; + $response = $capability->addCapability(); + } else { + $response = self::DEFAULT_AJAX_RESPONSE; + } + + return $response; + } + + /** + * Delete Capability + * + * @return string + * + * @access protected + */ + public function deleteCapability() + { + if (aam_View_Collection::hasFeature(self::FEATURE_CAPABILITY)){ + $capability = new aam_View_Capability; + $response = $capability->deleteCapability(); + } else { + $response = self::DEFAULT_AJAX_RESPONSE; + } + + return $response; + } + + /** + * Restore Capabilities + * + * @return string + * + * @access public + */ + public function restoreCapabilities() + { + if (aam_View_Collection::hasFeature(self::FEATURE_CAPABILITY)){ + $capability = new aam_View_Capability; + $response = $capability->restoreCapability(); + } else { + $response = self::DEFAULT_AJAX_RESPONSE; + } + + return $response; + } + + /** + * Get the List of Posts + * + * @return string + * + * @access public + */ + public function postList() + { + if (aam_View_Collection::hasFeature(self::FEATURE_POST_ACCESS)){ + $post = new aam_View_Post; + $response = $post->retrievePostList(); + } else { + $response = self::DEFAULT_AJAX_RESPONSE; + } + + return $response; + } + + /** + * Get Post Tree + * + * @return string + * + * @access public + */ + public function postTree() + { + if (aam_View_Collection::hasFeature(self::FEATURE_POST_ACCESS)){ + $post = new aam_View_Post; + $response = $post->getPostTree(); + } else { + $response = self::DEFAULT_AJAX_RESPONSE; + } + + return $response; + } + + /** + * Save Access settings for Post or Term + * + * @return string + * + * @access public + */ + public function saveAccess() + { + if (aam_View_Collection::hasFeature(self::FEATURE_POST_ACCESS)){ + $post = new aam_View_Post; + $response = $post->saveAccess(); + } else { + $response = self::DEFAULT_AJAX_RESPONSE; + } + + return $response; + } + + /** + * Get Access settings for Post or Term + * + * @return string + * + * @access public + */ + public function getAccess() + { + if (aam_View_Collection::hasFeature(self::FEATURE_POST_ACCESS)){ + $post = new aam_View_Post; + $response = $post->getAccess(); + } else { + $response = self::DEFAULT_AJAX_RESPONSE; + } + + return $response; + } + + /** + * Restore default access level for Post or Term + * + * @return string + * + * @access public + */ + public function clearAccess() + { + if (aam_View_Collection::hasFeature(self::FEATURE_POST_ACCESS)){ + $post = new aam_View_Post; + $response = $post->clearAccess(); + } else { + $response = self::DEFAULT_AJAX_RESPONSE; + } + + return $response; + } + + /** + * Delete Post + * + * @return string + * + * @access public + */ + public function deletePost() + { + if (aam_View_Collection::hasFeature(self::FEATURE_POST_ACCESS)){ + $post = new aam_View_Post; + $response = $post->deletePost(); + } else { + $response = self::DEFAULT_AJAX_RESPONSE; + } + + return $response; + } + + /** + * Prepare and generate the post breadcrumb + * + * @return string + * + * @access public + */ + public function postBreadcrumb() + { + if (aam_View_Collection::hasFeature(self::FEATURE_POST_ACCESS)){ + $post = new aam_View_Post; + $response = $post->getPostBreadcrumb(); + } else { + $response = self::DEFAULT_AJAX_RESPONSE; + } + + return $response; + } + + /** + * Get Event List + * + * @return string + * + * @access public + */ + public function eventList() + { + if (aam_View_Collection::hasFeature(self::FEATURE_EVENT_MANAGER)){ + $event = new aam_View_Event; + $response = $event->retrieveEventList(); + } else { + $response = self::DEFAULT_AJAX_RESPONSE; + } + + return $response; + } + + /** + * Save AAM options + * + * @return string + * + * @access public + */ + public function save() { + $this->getSubject()->save( + apply_filters( + 'aam_default_option_list', aam_Core_Request::post('aam') + )); + return json_encode(array('status' => 'success')); + } + + /** + * Roleback changes + * + * Restore default settings for current Subject + * + * @return string + * + * @access public + */ + public function roleback() { + //clear all settings + $this->getSubject()->clearAllOptions(); + //clear cache + $this->getSubject()->clearCache(); + + return json_encode(array('status' => 'success')); + } + + /** + * Check if current subject can perform roleback + * + * This function checks if there is any saved set of settings and return + * true if roleback feature can be performed + * + * @return string + * + * @access public + */ + public function hasRoleback() { + return json_encode( + array( + 'status' => intval( + $this->getSubject()->hasFlag( + aam_Control_Subject::FLAG_MODIFIED + ) + ) + )); + } + + /** + * Install license + * + * @return string + * + * @access public + */ + public function installLicense() + { + if (current_user_can(aam_Core_ConfigPress::getParam( + 'aam.menu.extensions.capability', 'administrator' + ))){ + $model = new aam_View_Extension(); + $response = $model->install(); + } else { + $response = self::DEFAULT_AJAX_RESPONSE; + } + + return $response; + } + + /** + * Remove license + * + * @return string + * + * @access public + */ + public function removeLicense() + { + if (current_user_can(aam_Core_ConfigPress::getParam( + 'aam.menu.extensions.capability', 'administrator' + ))){ + $model = new aam_View_Extension(); + $response = $model->remove(); + } else { + $response = self::DEFAULT_AJAX_RESPONSE; + } + + return $response; + } + + /** + * Save ConfigPress + * + * @return string + * + * @access public + */ + public function saveConfigPress() + { + if (current_user_can(aam_Core_ConfigPress::getParam( + 'aam.menu.configpress.capability', 'administrator' + ))){ + $result = aam_Core_ConfigPress::write(aam_Core_Request::post('config')); + } else { + $result = false; + } + + return json_encode(array( + 'status' => ($result === false ? 'failure' : 'success') + )); + } + + /** + * Discard Help Pointer + * + * @return string + * + * @access public + */ + public function discardHelp(){ + return update_user_meta(get_current_user_id(), 'aam_contextual_menu', 1); + } + + /** + * UI Javascript labels + * + * @return array + * + * @access public + * @static + * @todo Move to other file + */ + public static function uiLabels() { + return apply_filters('aam_localization_labels', array( + 'Rollback Settings' => __('Rollback Settings', 'aam'), + 'Cancel' => __('Cancel', 'aam'), + 'Send E-mail' => __('Send E-mail', 'aam'), + 'Add New Role' => __('Add New Role', 'aam'), + 'Manage' => __('Manage', 'aam'), + 'Edit' => __('Edit', 'aam'), + 'Delete' => __('Delete', 'aam'), + 'Filtered' => __('Filtered', 'aam'), + 'Clear' => __('Clear', 'aam'), + 'Add New Role' => __('Add New Role', 'aam'), + 'Save Changes' => __('Save Changes', 'aam'), + 'Delete Role with Users Message' => __('System detected %d user(s) with this role. All Users with Role %s will be deleted automatically!', 'aam'), + 'Delete Role Message' => __('Are you sure that you want to delete role %s?', 'aam'), + 'Delete Role' => __('Delete Role', 'aam'), + 'Add User' => __('Add User', 'aam'), + 'Filter Users' => __('Filter Users', 'aam'), + 'Refresh List' => __('Refresh List', 'aam'), + 'Block' => __('Block', 'aam'), + 'Delete User Message' => __('Are you sure you want to delete user %s?', 'aam'), + 'Filter Capabilities by Category' => __('Filter Capabilities by Category', 'aam'), + 'Inherit Capabilities' => __('Inherit Capabilities', 'aam'), + 'Add New Capability' => __('Add New Capability', 'aam'), + 'Delete Capability Message' => __('Are you sure that you want to delete capability %s?', 'aam'), + 'Delete Capability' => __('Delete Capability', 'aam'), + 'Select Role' => __('Select Role', 'aam'), + 'Add Capability' => __('Add Capability', 'aam'), + 'Add Event' => __('Add Event', 'aam'), + 'Edit Event' => __('Edit Event', 'aam'), + 'Delete Event' => __('Delete Event', 'aam'), + 'Save Event' => __('Save Event', 'aam'), + 'Delete Event' => __('Delete Event', 'aam'), + 'Filter Posts by Post Type' => __('Filter Posts by Post Type', 'aam'), + 'Refresh List' => __('Refresh List', 'aam'), + 'Restore Default' => __('Restore Default', 'aam'), + 'Apply' => __('Apply', 'aam'), + 'Edit Term' => __('Edit Term', 'aam'), + 'Manager Access' => __('Manager Access', 'aam'), + 'Unlock Default Accesss Control' => __('Unlock Default Accesss Control', 'aam'), + 'Close' => __('Close', 'aam'), + 'Edit Role' => __('Edit Role', 'aam'), + 'Restore Default Capabilities' => __('Restore Default Capabilities', 'aam'), + 'Delete Post Message' => __('Are you sure you want to delete %s?', 'aam'), + 'Trash Post Message' => __('Are you sure you want to move %s to trash?', 'aam'), + 'Delete Post' => __('Delete Post', 'aam'), + 'Delete Permanently' => __('Delete Permanently', 'aam'), + 'Trash Post' => __('Trash Post', 'aam'), + 'Restore Default Access' => __('Restore Default Access', 'aam'), + 'Duplicate' => __('Duplicate', 'aam'), + 'Actions Locked' => __('Actions Locked', 'aam'), + 'AAM Documentation' => __('

AAM Documentation

Find more information about Advanced Access Manager here.
', 'aam'), + )); + } + +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/application/view/menu.php b/wp-content/plugins/advanced-access-manager/application/view/menu.php new file mode 100644 index 0000000..d64f5ca --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/view/menu.php @@ -0,0 +1,150 @@ + + * @copyright Copyright C 2013 Vasyl Martyniuk + * @license GNU General Public License {@link http://www.gnu.org/licenses/} + */ +class aam_View_Menu extends aam_View_Abstract { + + /** + * + * @return type + */ + public function content() { + return $this->loadTemplate(dirname(__FILE__) . '/tmpl/menu.phtml'); + } + + /** + * @inheritdoc + */ + public function defaultOption($options) { + //make sure that some parts are always in place + if (!isset($options[aam_Control_Object_Menu::UID])) { + $options[aam_Control_Object_Menu::UID] = array(); + } + + return $options; + } + + /** + * + * @global type $menu + * @global type $submenu + * @return type + */ + public function getMenu() { + global $menu; + + $response = array(); + + //let's create menu list with submenus + foreach ($menu as $menu_item) { + if (!preg_match('/^separator/', $menu_item[2])) { + $submenu = $this->getSubmenu($menu_item[2]); + $remove = !$this->getSubject()->hasCapability($menu_item[1]); + if (($remove === false) || (count($submenu) !== 0)) { + $item = array( + 'name' => $this->removeHTML($menu_item[0]), + 'id' => $menu_item[2], + 'submenu' => $submenu + ); + $response[] = $item; + } + } + } + + return $response; + } + + /** + * Prepare filtered submenu + * + * @global array $submenu + * @param string $menu + * + * @return array + * + * @access public + */ + public function getSubmenu($menu) { + global $submenu; + + $filtered_submenu = array(); + if (isset($submenu[$menu])) { + foreach ($submenu[$menu] as $submenu_item) { + if ($this->getSubject()->hasCapability($submenu_item[1]) !== false) { + //prepare title + $submenu_title = $this->removeHTML($submenu_item[0]); + $filtered_submenu[] = array( + 'name' => $submenu_title, + 'short' => $this->prepareTitle($submenu_title), + 'id' => $submenu_item[2] + ); + } + } + } + + return $filtered_submenu; + } + + /** + * + * @param type $title + * @return string + */ + protected function prepareTitle($title) { + if (function_exists('mb_strlen')) { + if ((mb_strlen($title) > 18)) { + $title = mb_substr($title, 0, 15) . '..'; + } + } elseif (strlen($title) > 18) { + $title = substr($title, 0, 15) . '..'; + } + + return $title; + } + + /** + * Check if the entire branch is restricted + * + * @param array $menu + * + * @return boolean + * + * @access public + */ + public function hasRestrictedAll($menu) { + $menuControl = $this->getSubject()->getObject(aam_Control_Object_Menu::UID); + $response = $menuControl->has($menu['id']); + + foreach ($menu['submenu'] as $submenu) { + if ($menuControl->has($submenu['id']) === false) { + $response = false; + break; + } + } + + return $response; + } + + /** + * + * @param type $text + * @return type + */ + public function removeHTML($text) { + // Return clean content + return strip_tags($text); + } + +} diff --git a/wp-content/plugins/advanced-access-manager/application/view/metabox.php b/wp-content/plugins/advanced-access-manager/application/view/metabox.php new file mode 100644 index 0000000..d357d70 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/view/metabox.php @@ -0,0 +1,303 @@ + + * @copyright Copyright C Vasyl Martyniuk + * @license GNU General Public License {@link http://www.gnu.org/licenses/} + */ +class aam_View_Metabox extends aam_View_Abstract { + + /** + * Metabox Group - WIDGETS + * + * Is used to retrieve the list of all wigets on the frontend + */ + const GROUP_WIDGETS = 'widgets'; + + /** + * + * @var type + */ + private $_cache = array(); + + /** + * + * @global type $wp_meta_boxes + * @param type $post_type + */ + public function run($post_type) { + $this->_cache = aam_Core_API::getBlogOption( + 'aam_metabox_cache', array() + ); + + if ($post_type === 'dashboard') { + $this->collectWidgets(); + } else { + $this->collectMetaboxes($post_type); + } + aam_Core_API::updateBlogOption('aam_metabox_cache', $this->_cache); + } + + /** + * + * @global type $wp_registered_widgets + */ + protected function collectWidgets() { + global $wp_registered_widgets; + + if (!isset($this->_cache['widgets'])) { + $this->_cache['widgets'] = array(); + } + + //get frontend widgets + if (is_array($wp_registered_widgets)) { + foreach ($wp_registered_widgets as $id => $data) { + if (is_object($data['callback'][0])) { + $callback = get_class($data['callback'][0]); + } elseif (is_string($data['callback'][0])) { + $callback = $data['callback'][0]; + } else { + $callback = null; + } + + if (!is_null($callback)) { //exclude any junk + $this->_cache['widgets'][$callback] = array( + 'title' => $this->removeHTML($data['name']), + 'id' => $callback + ); + } + } + } + + //now collect Admin Dashboard Widgets + $this->collectMetaboxes('dashboard'); + } + + /** + * + * @global type $wp_meta_boxes + * @param type $post_type + */ + protected function collectMetaboxes($post_type) { + global $wp_meta_boxes; + + if (!isset($this->_cache[$post_type])) { + $this->_cache[$post_type] = array(); + } + + if (isset($wp_meta_boxes[$post_type]) && is_array($wp_meta_boxes[$post_type])) { + foreach ($wp_meta_boxes[$post_type] as $levels) { + if (is_array($levels)) { + foreach ($levels as $boxes) { + if (is_array($boxes)) { + foreach ($boxes as $data) { + if (trim($data['id'])) { //exclude any junk + $this->_cache[$post_type][$data['id']] = array( + 'id' => $data['id'], + 'title' => $this->removeHTML($data['title']) + ); + } + } + } + } + } + } + } + } + + /** + * + * @return type + */ + public function initLink() { + $link = filter_var(aam_Core_Request::post('link'), FILTER_VALIDATE_URL); + if ($link) { + $url = add_query_arg('aam_meta_init', 1, $link); + aam_Core_API::cURL($url); + $response = array('status' => 'success'); + } else { + $response = array('status' => 'failure'); + } + + return json_encode($response); + } + + /** + * + * @global type $wp_post_types + * @return type + */ + public function retrieveList() { + global $wp_post_types; + + if (aam_Core_Request::post('refresh') == 1) { + aam_Core_API::deleteBlogOption('aam_metabox_cache'); + $type_list = array_keys($wp_post_types); + array_unshift($type_list, self::GROUP_WIDGETS); + + foreach ($type_list as $type) { + if ($type == self::GROUP_WIDGETS) { + $url = add_query_arg( + 'aam_meta_init', + 1, + admin_url('index.php') + ); + } else { + $url = add_query_arg( + 'aam_meta_init', + 1, + admin_url('post-new.php?post_type=' . $type) + ); + } + //grab metaboxes + aam_Core_API::cURL($url); + } + } + + return $this->buildMetaboxList(); + } + + /** + * + * @global type $wp_post_types + * @return type + */ + protected function buildMetaboxList() { + global $wp_post_types; + + $cache = aam_Core_API::getBlogOption('aam_metabox_cache', array()); + if ($this->getSubject()->getUID() == aam_Control_Subject_Visitor::UID) { + $list = array( + 'widgets' => (isset($cache['widgets']) ? $cache['widgets'] : array()) + ); + } else { + $list = $cache; + } + $content = '
'; + foreach ($list as $screen => $metaboxes) { + $content .= '
'; + switch ($screen) { + case 'dashboard': + $content .= '

' . __('Dashboard Widgets', 'aam') . '

'; + break; + + case 'widgets': + $content .= '

' . __('Frontend Widgets', 'aam') . '

'; + break; + + default: + $content .= '

' . $wp_post_types[$screen]->labels->name; + $content .= '

'; + break; + } + $content .= '
'; + $content .= '
'; + $i = 1; + $metaboxControl = $this->getSubject()->getObject( + aam_Control_Object_Metabox::UID + ); + foreach ($metaboxes as $metabox) { + if ($i++ == 1) { + $content .= '
'; + } + //prepare title + $title = $this->prepareTitle($metabox['title']); + + //prepare selected + if ($metaboxControl->has($screen, $metabox['id'])) { + $checked = 'checked="checked"'; + } else { + $checked = ''; + } + + $metabox_id = "metabox_{$screen}_{$metabox['id']}"; + + $content .= '
'; + $content .= sprintf( + '', + $metabox_id, + esc_js($metabox['title']), + $title + ); + $content .= sprintf( + '', + $metabox_id, + aam_Control_Object_Metabox::UID, + $screen, + $metabox['id'], + $checked + ); + $content .= ''; + $content .= '
'; + if ($i > 3) { + $content .= '
'; + $i = 1; + } + } + if ($i != 1) { + $content .= '
'; + } + $content .= '
'; + } + $content .= ''; + + return $content; + } + + /** + * + * @param type $title + * @return string + */ + protected function prepareTitle($title) { + if (function_exists('mb_strlen')) { + if ((mb_strlen($title) > 18)) { + $title = mb_substr($title, 0, 15) . '..'; + } + } elseif (strlen($title) > 18) { + $title = substr($title, 0, 15) . '..'; + } + + return $title; + } + + /** + * + * @param type $text + * @return type + */ + public function removeHTML($text) { + return strip_tags($text); + } + + /** + * + * @return type + */ + public function content() { + return $this->loadTemplate(dirname(__FILE__) . '/tmpl/metabox.phtml'); + } + + /** + * @inheritdoc + */ + public function defaultOption($options) { + //make sure that some parts are always in place + if (!isset($options[aam_Control_Object_Metabox::UID])) { + $options[aam_Control_Object_Metabox::UID] = array(); + } + + return $options; + } + +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/application/view/post.php b/wp-content/plugins/advanced-access-manager/application/view/post.php new file mode 100644 index 0000000..1f72489 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/view/post.php @@ -0,0 +1,549 @@ + + * @copyright Copyright C 2013 Vasyl Martyniuk + * @license GNU General Public License {@link http://www.gnu.org/licenses/} + */ +class aam_View_Post extends aam_View_Abstract { + + /** + * Type of browsing object + * + * It can be either post or term + * + * @var string + * + * @access private + */ + private $_post_type = 'post'; + + /** + * Term ID + * + * @var int + * + * @access private + */ + private $_term = 0; + + /** + * Constructor + * + * @return void + * + * @access public + */ + public function __construct() { + parent::__construct(); + $this->_post_type = aam_Core_Request::request('post_type'); + $this->_term = intval(aam_Core_Request::request('term')); + } + + /** + * + * @global type $wp_post_statuses + * @global type $wp_post_types + * @return type + */ + public function retrievePostList() { + global $wp_post_statuses, $wp_post_types, $wp_taxonomies; + + $term = trim(aam_Core_Request::request('term')); + + //default behavior + if (empty($term)) { + $post_type = 'post'; + //root for each Post Type + } elseif (isset($wp_post_types[$term])) { + $post_type = $term; + $term = ''; + } else { + $taxonomy = $this->getTaxonomy($term); + if (isset($wp_taxonomies[$taxonomy])) { + //take in consideration only first object type + $post_type = $wp_taxonomies[$taxonomy]->object_type[0]; + } else { + $post_type = 'post'; + } + } + + $args = array( + 'numberposts' => aam_Core_Request::request('iDisplayLength'), + 'offset' => aam_Core_Request::request('iDisplayStart'), + 'fields' => 'ids', + 'term' => $term, + 'taxonomy' => (!empty($taxonomy) ? $taxonomy : ''), + 'post_type' => $post_type, + 's' => aam_Core_Request::request('sSearch'), + 'post_status' => array() + ); + + $argsAll = array( + 'numberposts' => '999999', + 'fields' => 'ids', + //'category' => $term, + 'term' => $term, + 'taxonomy' => (!empty($taxonomy) ? $taxonomy : ''), + 'post_type' => $post_type, + 's' => aam_Core_Request::request('sSearch'), + 'post_status' => array() + ); + + if ($post_type != 'attachment') { //attachment has only inherit status + foreach ($wp_post_statuses as $status => $data) { + if ($data->show_in_admin_status_list) { + $args['post_status'][] = $status; + $argsAll['post_status'][] = $status; + } + } + } + + $total = 0; + foreach (wp_count_posts($post_type) as $status => $number) { + if ($wp_post_statuses[$status]->show_in_admin_status_list) { + $total += $number; + } + } + + //get displayed total + $displayTotal = count(get_posts($argsAll)); + + $response = array( + 'iTotalRecords' => $total, + 'iTotalDisplayRecords' => $displayTotal, + 'sEcho' => aam_Core_Request::request('sEcho'), + 'aaData' => array(), + ); + + foreach (get_posts($args) as $post_id) { + $post = $this->getSubject()->getObject( + aam_Control_Object_Post::UID, $post_id + ); + $response['aaData'][] = array( + $post->getPost()->ID, + $post->getPost()->post_status, + get_edit_post_link($post->getPost()->ID), + $post->getPost()->post_title, + $wp_post_statuses[$post->getPost()->post_status]->label, + '', + ($post->getOption() && !$post->getInherited() ? 1 : 0) + ); + } + + return json_encode($response); + } + + /** + * Get Taxonomy by Term ID + * + * @global type $wpdb + * @param type $object_id + * @return type + */ + private function getTaxonomy($object_id) { + global $wpdb; + + $query = "SELECT taxonomy FROM {$wpdb->term_taxonomy} "; + $query .= "WHERE term_id = {$object_id}"; + + return $wpdb->get_var($query); + } + + /** + * + * @global type $wp_post_types + * @return type + */ + public function getPostTree() { + global $wp_post_types; + + $type = aam_Core_Request::request('root'); + $tree = array(); + + if ($type == "source") { + if (is_array($wp_post_types)) { + foreach ($wp_post_types as $post_type => $data) { + //show only list of post type which have User Interface + if ($data->show_ui) { + $tree[] = (object) array( + 'text' => $data->label, + 'expanded' => FALSE, + 'hasChildren' => TRUE, + 'id' => $post_type, + 'classes' => 'important', + ); + } + } + } + } else { + if (preg_match('/^[\d]+$/', $type)) { + $taxonomy = $this->getTaxonomyByTerm($type); + $tree = $this->buildBranch(NULL, $taxonomy, $type); + } else { + $tree = $this->buildBranch($type); + } + } + + if (!count($tree)) { + $tree[] = (object) array( + 'text' => '' . __('[empty]', 'aam') . '', + 'hasChildren' => FALSE, + 'classes' => 'post-ontree', + 'id' => 'empty-' . uniqid() + ); + } + + return json_encode($tree); + } + + /** + * Delete Post + * + * @return string + * + * @access public + */ + public function deletePost() { + $post_id = aam_Core_Request::post('post'); + + if (aam_Core_Request::post('force')) { + $result = wp_delete_post($post_id, true); + } else { + $result = wp_trash_post($post_id); + } + + return json_encode(array('status' => ($result ? 'success' : 'failure'))); + } + + /** + * + * @global type $wpdb + * @param type $term_id + * @return boolean + */ + protected function getTaxonomyByTerm($term_id) { + global $wpdb; + + if ($term_id) { + $query = "SELECT taxonomy FROM {$wpdb->term_taxonomy} "; + $query .= "WHERE term_id = {$term_id}"; + $result = $wpdb->get_var($query); + } else { + $result = FALSE; + } + + return $result; + } + + /** + * + * @param type $post_type + * @param type $taxonomy + * @param type $parent + * @return type + */ + private function buildBranch($post_type, $taxonomy = FALSE, $parent = 0) { + $tree = array(); + if (!$parent && !$taxonomy) { //root of a branch + $tree = $this->buildCategories($post_type); + } elseif ($taxonomy) { //build sub categories + $tree = $this->buildCategories('', $taxonomy, $parent); + } + + return $tree; + } + + /** + * + * @param type $post_type + * @param type $taxonomy + * @param type $parent + * @return type + */ + private function buildCategories($post_type, $taxonomy = FALSE, $parent = 0) { + + $tree = array(); + + if ($parent) { + //$taxonomy = $this->get_taxonomy_get_term($parent); + //firstly render the list of sub categories + $cat_list = get_terms( + $taxonomy, array( + 'get' => 'all', + 'parent' => $parent, + 'hide_empty' => FALSE + ) + ); + if (is_array($cat_list)) { + foreach ($cat_list as $category) { + $tree[] = $this->buildCategory($category); + } + } + } else { + $taxonomies = get_object_taxonomies($post_type); + foreach ($taxonomies as $taxonomy) { + if (is_taxonomy_hierarchical($taxonomy)) { + $term_list = get_terms($taxonomy, array( + 'parent' => $parent, + 'hide_empty' => FALSE + )); + if (is_array($term_list)) { + foreach ($term_list as $term) { + $tree[] = $this->buildCategory($term); + } + } + } + } + } + + return $tree; + } + + /** + * + * @param type $category + * @return type + */ + private function buildCategory($category) { + $branch = (object) array( + 'text' => $category->name, + 'expanded' => FALSE, + 'classes' => 'important folder', + ); + if ($this->hasCategoryChilds($category)) { + $branch->hasChildren = TRUE; + } else { + $branch->hasChildren = FALSE; + } + $branch->id = $category->term_id; + + return $branch; + } + + /** + * Check if category has children + * + * @param int category ID + * @return bool TRUE if has + */ + protected function hasCategoryChilds($cat) { + global $wpdb; + + //get number of categories + $query = "SELECT COUNT(*) FROM {$wpdb->term_taxonomy} "; + $query .= "WHERE parent={$cat->term_id}"; + $counter = $wpdb->get_var($query); + + return ($counter ? TRUE : FALSE); + } + + /** + * + * @global type $wp_post_types + * @global type $wp_taxonomies + * @return type + */ + public function getPostBreadcrumb() { + global $wp_post_types, $wp_taxonomies; + + $id = aam_Core_Request::post('id'); + $response = array(); + if (preg_match('/^[\d]+$/', $id)) { + $taxonomy = $this->getTaxonomyByTerm($id); + //get post type + if (isset($wp_taxonomies[$taxonomy])) { + $post_type = $wp_taxonomies[$taxonomy]->object_type[0]; + if (isset($wp_post_types[$post_type])) { + $response['post_type'] = $post_type; + $response['term'] = $id; + $response['link'] = get_edit_term_link($id, $taxonomy); + $term = get_term($id, $taxonomy); + $tree = $this->renderBreadcrumbTree($term, array()); + $tree[] = array($post_type, $wp_post_types[$post_type]->label); + $response['breadcrumb'] = array_reverse($tree); + } + } + } else { + if (isset($wp_post_types[$id])) { + $response = array( + 'post_type' => $id, + 'term' => 0, + 'breadcrumb' => array( + array($id, $wp_post_types[$id]->label), + array('#', __('All', 'aam')) + ) + ); + } else { + $response = array( + 'term' => '', + 'breadcrumb' => array( + array('post', $wp_post_types['post']->label), + array('#', __('All', 'aam')) + ) + ); + } + } + + return json_encode($response); + } + + /** + * + * @param type $term + * @param type $tree + * @return type + */ + protected function renderBreadcrumbTree($term, $tree) { + $tree[] = array($term->term_id, $term->name); + if ($term->parent) { + $tree = $this->renderBreadcrumbTree( + get_term($term->parent, $term->taxonomy), $tree + ); + } + + return $tree; + } + + /** + * + * @return type + */ + public function content() { + return $this->loadTemplate(dirname(__FILE__) . '/tmpl/post.phtml'); + } + + /** + * Save Post or Term access + * + * @return string + * + * @access public + */ + public function saveAccess() { + $object_id = aam_Core_Request::post('id'); + + $limit_counter = apply_filters( + 'wpaccess_restrict_limit', + aam_Core_API::getBlogOption('aam_access_limit', 0) + ); + + if ($limit_counter == -1 || $limit_counter <= 10) { + $access = aam_Core_Request::post('access'); + if (aam_Core_Request::post('type') == 'term') { + $object = $this->getSubject()->getObject( + aam_Control_Object_Term::UID, $object_id + ); + if ($limit_counter !== -1 && isset($access['post'])) { + unset($access['post']); + } + } else { + $object = $this->getSubject()->getObject( + aam_Control_Object_Post::UID, $object_id + ); + } + $object->save($access); + aam_Core_API::updateBlogOption('aam_access_limit', $limit_counter + 1); + + //clear cache + $this->getSubject()->clearCache(); + + $response = array('status' => 'success'); + } else { + $response = array( + 'status' => 'failure', + 'reason' => 'limitation', + 'extension' => 'AAM Unlimited Basic' + ); + } + + return json_encode($response); + } + + /** + * Get Post or Term access + * + * @return string + * + * @access public + */ + public function getAccess() { + return json_encode(array( + 'html' => $this->loadTemplate( + dirname(__FILE__) . '/tmpl/control_area.phtml' + ), + 'counter' => apply_filters( + 'wpaccess_restrict_limit', + aam_Core_API::getBlogOption('aam_access_limit', 0) + ) + )); + } + + /** + * Restore default access level for object + * + * @return string + * + * @access public + */ + public function clearAccess() { + $type = aam_Core_Request::post('type'); + $object_id = aam_Core_Request::post('id'); + + if ($type === aam_Control_Object_Term::UID) { + $object = $this->getSubject()->getObject( + aam_Control_Object_Term::UID, $object_id + ); + } else { + $object = $this->getSubject()->getObject( + aam_Control_Object_Post::UID, $object_id + ); + } + + return json_encode(array( + 'status' => ($object->delete() ? 'success' : 'failure') + )); + } + + /** + * Get Object Title + * + * @param string $type + * @param string $name + * + * @return string + * + * @access public + * @global array $wp_post_types + * @global array $wp_taxonomies + */ + public function getObjectTitle($type, $name) { + global $wp_post_types, $wp_taxonomies; + + if ($type == aam_Control_Object_Term::UID) { + if (!empty($wp_taxonomies[$name]->labels->name)) { + $title = $wp_taxonomies[$name]->labels->name; + } else { + $title = 'term'; + } + } else { + if (!empty($wp_post_types[$name]->labels->name)) { + $title = $wp_post_types[$name]->labels->name; + } else { + $title = 'post'; + } + } + + return $title; + } + +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/application/view/role.php b/wp-content/plugins/advanced-access-manager/application/view/role.php new file mode 100644 index 0000000..751cc16 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/view/role.php @@ -0,0 +1,140 @@ + + * @copyright Copyright C 2013 Vasyl Martyniuk + * @license GNU General Public License {@link http://www.gnu.org/licenses/} + */ +class aam_View_Role extends aam_View_Abstract { + + /** + * Generate UI Content + * + * @return string + * + * @access public + */ + public function content() { + return $this->loadTemplate(dirname(__FILE__) . '/tmpl/role.phtml'); + } + + /** + * Get Role List + * + * @return string JSON Encoded role list + * + * @access public + */ + public function retrieveList() { + //retrieve list of users + $count = count_users(); + $user_count = $count['avail_roles']; + + //filter by name + $search = strtolower(trim(aam_Core_Request::request('sSearch'))); + $filtered = array(); + $roles = get_editable_roles(); + foreach ($roles as $id => $role) { + if (!$search || preg_match('/^' . $search . '/i', $role['name'])) { + $filtered[$id] = $role; + } + } + + $response = array( + 'iTotalRecords' => count($roles), + 'iTotalDisplayRecords' => count($filtered), + 'sEcho' => aam_Core_Request::request('sEcho'), + 'aaData' => array(), + ); + foreach ($filtered as $role => $data) { + $users = (isset($user_count[$role]) ? $user_count[$role] : 0); + $response['aaData'][] = array( + $role, + $users, + translate_user_role($data['name']), + '' + ); + } + + return json_encode($response); + } + + /** + * Retrieve Pure Role List + * + * @return string + */ + public function retrievePureList(){ + return json_encode(get_editable_roles()); + } + + /** + * Add New Role + * + * @return string + * + * @access public + */ + public function add() { + $name = trim(aam_Core_Request::post('name')); + $roles = new WP_Roles; + if (aam_Core_ConfigPress::getParam('aam.native_role_id') === 'true'){ + $role_id = strtolower($name); + } else { + $role_id = 'aamrole_' . uniqid(); + } + //if inherited role is set get capabilities from it + $parent = trim(aam_Core_Request::post('inherit')); + if ($parent && $roles->get_role($parent)){ + $caps = $roles->get_role($parent)->capabilities; + } else { + $caps = array(); + } + + if ($roles->add_role($role_id, $name, $caps)) { + $response = array( + 'status' => 'success', + 'role' => $role_id + ); + } else { + $response = array('status' => 'failure'); + } + + return json_encode($response); + } + + /** + * + * @return type + */ + public function edit() { + $result = $this->getSubject()->update(trim(aam_Core_Request::post('name'))); + return json_encode( + array('status' => ($result ? 'success' : 'failure')) + ); + } + + /** + * + * @return type + */ + public function delete() { + if ($this->getSubject()->delete(aam_Core_Request::post('delete_users'))) { + $status = 'success'; + } else { + $status = 'failure'; + } + + return json_encode(array('status' => $status)); + } + +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/application/view/tmpl/capability.phtml b/wp-content/plugins/advanced-access-manager/application/view/tmpl/capability.phtml new file mode 100644 index 0000000..e469df8 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/view/tmpl/capability.phtml @@ -0,0 +1,84 @@ + +
+ + + + + + + + + + + +
Capability IDChecked
+ +
+ + + + + + + + + getGroupList() as $group) { ?> + + + + + + +
+
+ +
+
+
+ +
+ + + + + + + + + + +
Role IDUser Count
+
+
+ +
+ + + + + + + + + + + +
*:
: + + +
+
+
+ +
+

+
+
\ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/application/view/tmpl/configpress.phtml b/wp-content/plugins/advanced-access-manager/application/view/tmpl/configpress.phtml new file mode 100644 index 0000000..43539ea --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/view/tmpl/configpress.phtml @@ -0,0 +1,161 @@ + +
+
+
+
+
+
+

+ + + +

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

+ +

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

+ +

+ +
+
+
+
+
+ + diff --git a/wp-content/plugins/advanced-access-manager/application/view/tmpl/control_area.phtml b/wp-content/plugins/advanced-access-manager/application/view/tmpl/control_area.phtml new file mode 100644 index 0000000..fb13209 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/view/tmpl/control_area.phtml @@ -0,0 +1,242 @@ +getSubject()->getObject( + aam_Control_Object_Term::UID, aam_Core_Request::post('id') + ); + if (isset($wp_taxonomies[$object->getTerm()->taxonomy])){ + //take in consideration only first object type + $post_type = $wp_taxonomies[$object->getTerm()->taxonomy]->object_type[0]; + } else { + $post_type = 'post'; + } +} else { + $object = $this->getSubject()->getObject( + aam_Control_Object_Post::UID, aam_Core_Request::post('id') + ); + $post_type = $object->getPost()->post_type; +} + +if ($post_type == 'attachment'){ +?> +
+ Get better access control over your media files with + AAM Media Manager + extension. +
+getUID() == aam_Control_Object_Term::UID) { ?> +
+ + + + + + + + + + + + getTerm()->taxonomy . '.caps.frontend', + apply_filters( + 'aam_term_access_list', + aam_Core_Settings::get('term_frontend_restrictions'), + 'frontend', + $object, + $post_type + ) + ); + foreach ($term_fcaps as $i => $action) { + ?> + + + + + + +
+ getObjectTitle('term', $object->getTerm()->taxonomy) . ' ' . __('Access', 'aam'); ?> +
+
+ +
+
+
+
+ has('frontend', $action) ? 'checked="checked"' : ''); ?> /> + +
+
+
+ + + + + + + + + + + + + getTerm()->taxonomy . '.caps.backend', + apply_filters( + 'aam_term_access_list', + aam_Core_Settings::get('term_backend_restrictions'), + 'backend', + $object, + $post_type + ) + ); + foreach ($term_bcaps as $i => $action) { + ?> + + + + + + +
+ getObjectTitle('term', $object->getTerm()->taxonomy) . ' ' . __('Access', 'aam'); ?> +
+
+ +
+
+
+
+ has('backend', $action) ? 'checked="checked"' : ''); ?> /> + +
+
+
+
+ +
+ + + + + + + + + + + + $action) { + ?> + + + + + + +
+ getUID() == aam_Control_Object_Term::UID)){ + echo sprintf(__('All %s in Term', 'aam'), $this->getObjectTitle('post', $post_type)); + } else { + echo $this->getObjectTitle('post', $post_type) . ' ' . __('Access', 'aam'); + } + ?> +
+
+ +
+
+
+
+ has('frontend', $action) ? 'checked="checked"' : ''); ?> /> + +
+
+
+ + + + + + + + + + + + $action) { + ?> + + + + + + +
+ getUID() == aam_Control_Object_Term::UID)){ + echo sprintf(__('All %s in Term', 'aam'), $this->getObjectTitle('post', $post_type)); + } else { + echo $this->getObjectTitle('post', $post_type) . ' ' . __('Access', 'aam'); + } + ?> +
+
+ +
+
+
+
+ has('backend', $action) ? 'checked="checked"' : ''); ?> /> + +
+
+
+
+ + + +
+
\ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/application/view/tmpl/event.phtml b/wp-content/plugins/advanced-access-manager/application/view/tmpl/event.phtml new file mode 100644 index 0000000..a994ea3 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/view/tmpl/event.phtml @@ -0,0 +1,109 @@ + +
+ + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
*: + +
*: + +
*: + +
*: + +
*: + +
*: + +
+
+ +
+

+
+ +
\ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/application/view/tmpl/extension.phtml b/wp-content/plugins/advanced-access-manager/application/view/tmpl/extension.phtml new file mode 100644 index 0000000..fe93ee6 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/view/tmpl/extension.phtml @@ -0,0 +1,234 @@ + +
+
+
+
+
+
+

+ + + +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ AAM Plus Package + + This Extension extends default AAM basic features and unlock some limitations. + Add custom taxonomy Page Category to ground pages into categories; + Unlock the limitation for Post Access control; + Add additional Capability Group Comments with the set of capabilities to control default comment + actions like Reply, Mark Spam, Trash, Delete etc; + Add possibility to setup default post or page access. + For more details, please visit our forum. + $30.00 +
+ + getRepository()->hasExtension('AAM Plus Package')) { ?> + + + + +
+
+ AAM Activities + + Extend the list of activities that AAM can track. By default AAM logs only user login and logout. + By purchasing this extension you can also track activities like post trash, delete, update etc. + As well as we can implement any additional activity on demand. Check our website for more details. + $20.00 +
+ + getRepository()->hasExtension('AAM Activities')) { ?> + + + + +
+
+ AAM Media Manager + + It is the first official prototype that allows you to group your media files in Categories. + Visit our website + to find out more about current functionality and future development plans. + $10.00 +
+ + getRepository()->hasExtension('AAM Media Manager')) { ?> + + + + +
+
+ AAM Content Filter + + The first version of AAM Content Filter Extension allows you to filter content for your Posts or Pages or Custom Post Types. + The content (or part of the content) can be filtered based on currently logged in user or visitor. + Check our website for more information. + $15.00 + +
+ + getRepository()->hasExtension('AAM Content Filter')) { ?> + + + + +
+
+ AAM Plugin Manager + + Control access to individual plugins in your list of Plugins. Hide, restrict to activate, deactivate or delete any existing plugin for user or role. + Check our website for more information. + $10.00 +
+ + getRepository()->hasExtension('AAM Plugin Manager')) { ?> + + + + +
+
+
+

+ Purchase button to checkout your order.', 'aam'); ?> + +

+
    +
    +
    +

    +
    + +

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

      + +

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

      + +

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

      + +

      +
      +

      + Development License for $119 and receive access to all extensions that are available today and will be developed within a year.', 'aam'); ?> + +

      +
      + getRepository()->hasLicense('AAM Development License')) { ?> + + + + + +
      +
      +
      +
      +
      +
      +
      \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/application/view/tmpl/help_developers.phtml b/wp-content/plugins/advanced-access-manager/application/view/tmpl/help_developers.phtml new file mode 100644 index 0000000..a0696ed --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/view/tmpl/help_developers.phtml @@ -0,0 +1,29 @@ +

      AAM Development Framework

      + +

      + Are you passionate about WordPress development? We are too! Become a member of + the AAM community and obtain our + Exclusive Development License + where you can profit from your own ideas and have access to all AAM extensions. +

      + +

      + We receive regular requests and suggestions for new extensions and decided we would + extend the opportunity to create and earn by opening our platform to you. We will + host your extensions on our server so you may develop custom features for you and + your customers. If you have a great idea and would like to create an extension for + sales, we will review, approve and host it on AAM server. +

      + +

      + You can download the sample extension from our official + GitHub Repository + and customize it to your special need. +

      + +

      + Additionally the + AAM Development License + gives you an opportunity to download ALL AAM extensions that are available + now and all new extensions that will be developed within a year from the time of purchase. +

      \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/application/view/tmpl/help_extensions.phtml b/wp-content/plugins/advanced-access-manager/application/view/tmpl/help_extensions.phtml new file mode 100644 index 0000000..4583b98 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/view/tmpl/help_extensions.phtml @@ -0,0 +1,16 @@ +

      AAM Extensions

      + +

      + Advanced Access Manager is free platform and you can use most of the features without + any limitations but in case you are looking for more, this is where AAM extensions + might be useful for you to check. Complete list of available extensions you can find + on AAM->Extensions page. +

      +

      + We are using PayPal to process the payment and if it completed successfully, you will + automatically receive an email with license key that you can use to activate the extension. +

      +

      + In case of any issues with license key, we guaranty to resolve the issue within one business day. + Otherwise your money back. +

      \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/application/view/tmpl/help_faq.phtml b/wp-content/plugins/advanced-access-manager/application/view/tmpl/help_faq.phtml new file mode 100644 index 0000000..06830dd --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/view/tmpl/help_faq.phtml @@ -0,0 +1,38 @@ +

      Frequently Asked Questions

      + +

      What is Advanced Access Manager?

      +

      + Advanced Access Manager (aka AAM) is free WordPress plugin that allows you to + control access to your website. With AAM you can manager access to your Posts, + Pages and Categories, filter unnecessary areas in your Backend, manager Users and + Roles and many more. +

      + +

      What should I know to understand how AAM works?

      +

      + Best way to learn more about AAM is to check our + collection of tutorials. + From here you'll get the basic understanding about most important aspects of AAM + functionality. It is also very important to understand how WordPress + Roles & Capabilities + are organized. +

      + +

      I'm not able to manage Administrator Role. What am I missing?

      +

      + In fact that AAM is very powerful tool, many unexperienced users were able to limit + Administrator rights and loose access to Dashboard. That is why from AAM Release 2.5 + we introduced AAM Super Admin. + You can make one user in your system as AAM Super Administrator that is able to manager other + administrators.
      + Warning! Do not limit capabilities for Administrator + Role, because even if you are AAM Super Administrator, you still remain WordPress Administrator. +

      + +

      What is ConfigPress?

      +

      + Think about ConfigPress as a settings page but instead of dozens of checkboxes, drop-downs and input fields + you use configuration script based on INI Standard. + The reason we use this format is that AAM is not only just a plugin but complex and very flexible development + tool. That is why we came to conclusion to organize all settings in ConfigPress format. +

      \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/application/view/tmpl/help_overview.phtml b/wp-content/plugins/advanced-access-manager/application/view/tmpl/help_overview.phtml new file mode 100644 index 0000000..f8817cb --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/view/tmpl/help_overview.phtml @@ -0,0 +1,48 @@ +

      General Overview

      +

      + Advanced Access Manager (aka AAM) is one of the most popular access control plugins. It is easy-to-use but + at the same time very powerful tool that gives you a flexible control over your either + single WordPress site or Multisite Network. With AAM you are allowed to configure access + to different parts of your website for any role or individual user. +

      +

      + Another great aspect of AAM is that our team constantly working on new features and improving + existing. We are very dedicated to success of this project and our support is ready to help you + within 48hours. +

      +

      + Below you can find some of the major feature that are available in current AAM version: +

      + +Control access to backend menu (including submenu). As example you can restrict +access for role Editor to Menu "Pages" or does not allow any user to +manage Post's Categories.
      +
      +Filter widgets & metaboxes. Filter the list of metaboxes that any role +or user can see during Post/Page editing. At the same time you can filter the +list of Dashboard and Frontend widgets.
      +
      +Control access to any post, page, custom post type or category. +You can restrict access to page or post for any user or role as well as +restrict access to entire category and all posts inside it. You can also restrict +commenting for pages or exclude any from the frontend menu. For more restrictions you can +consider to get AAM Plus Package.
      +
      +Filter Post or Page content. You can filter Post's or Page's content for +currently logged in user or visitor. This feature is available with extension +AAM Content Manager.
      +
      +Manage capabilities for any role or user. +AAM, with simple interface, allows you to grand or remove capabilities for any role or user. +You can also create new custom capability or remove existing.
      +
      +Create custom actions for system events. As example your system can send email +to you if some user published post or page, or modified content. You also can develop +your own custom action for system event.
      +
      +Track user activities. With AAM you can track user activities within +your website. So you can easily find out when user was logged in or modified any post +or page. To extend the list of tracked activities, consider to get +AAM Activities +extension. + diff --git a/wp-content/plugins/advanced-access-manager/application/view/tmpl/manager.phtml b/wp-content/plugins/advanced-access-manager/application/view/tmpl/manager.phtml new file mode 100644 index 0000000..923d6b6 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/view/tmpl/manager.phtml @@ -0,0 +1,111 @@ + +
      +
      + +
      +
      +
      +
      +
      +

      + + + + +

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

      + +

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

      + +

      +
      +
      +
      +
      +
      +
      +
      +

      +
      +
      +

      support@wpaam.com', 'aam'); ?>

      +
      +
      +
      +
      + +
      +
      +
      +
      +

      + +

      +
      +
      +
      + class, '" '; + echo 'aam-tooltip="', $subject->title, '" segment="' . $subject->segment . '">'; + echo $subject->label, ''; + } + ?> +
      +
      +
      + controller->content(); + } + ?> +
      +
      +
      +
      +
      +
      +
      +
      +
      \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/application/view/tmpl/menu.phtml b/wp-content/plugins/advanced-access-manager/application/view/tmpl/menu.phtml new file mode 100644 index 0000000..0acc32e --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/view/tmpl/menu.phtml @@ -0,0 +1,76 @@ +getMenu(); +?> +
      + + + + + + + +
      + \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/application/view/tmpl/metabox.phtml b/wp-content/plugins/advanced-access-manager/application/view/tmpl/metabox.phtml new file mode 100644 index 0000000..56b67df --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/view/tmpl/metabox.phtml @@ -0,0 +1,21 @@ + +
      +
      + + + +
      +
      +
      +
      +
      \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/application/view/tmpl/post.phtml b/wp-content/plugins/advanced-access-manager/application/view/tmpl/post.phtml new file mode 100644 index 0000000..2bcbdd0 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/view/tmpl/post.phtml @@ -0,0 +1,57 @@ + +
      + + + + + + + + + + + + + + +
      Post IDPost StatusPost LinkRestriction Status
      + +
      +

      +
      + +
      +
      +
      +  |  +  |  +
      +
      +
        +
        +
        +
        + +
        +
        + AAM Plus Package to unlock the feature.'); ?> +
        +
        + getSubject()->getUID() != 'visitor') { ?> +
        + + +
        + +
        +
        +
        +
        diff --git a/wp-content/plugins/advanced-access-manager/application/view/tmpl/role.phtml b/wp-content/plugins/advanced-access-manager/application/view/tmpl/role.phtml new file mode 100644 index 0000000..b7bfab4 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/view/tmpl/role.phtml @@ -0,0 +1,61 @@ + +
        + + + + + + + + + + +
        Role IDUser Count
        + +
        + + + + + + + + + + + +
        *:
        :
        +
        + +
        + + + + + + + + + + + +
        :
        *:
        +
        + +
        +

        +
        +
        +

        + Administrator Role', 'aam'); ?> +

        +
        +
        \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/application/view/tmpl/user.phtml b/wp-content/plugins/advanced-access-manager/application/view/tmpl/user.phtml new file mode 100644 index 0000000..673c8cd --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/view/tmpl/user.phtml @@ -0,0 +1,42 @@ + +
        + + + + + + + + + + + + +
        User IDUser LoginStatusManagable
        + +
        + + + + + + + + + + +
        Role IDUser Count
        +
        + +
        + +
        +
        \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/application/view/tmpl/visitor.phtml b/wp-content/plugins/advanced-access-manager/application/view/tmpl/visitor.phtml new file mode 100644 index 0000000..0f6edfa --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/view/tmpl/visitor.phtml @@ -0,0 +1,12 @@ + +
        + . +
        \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/application/view/user.php b/wp-content/plugins/advanced-access-manager/application/view/user.php new file mode 100644 index 0000000..fd2f87d --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/view/user.php @@ -0,0 +1,156 @@ + + * @copyright Copyright C 2013 Vasyl Martyniuk + * @license GNU General Public License {@link http://www.gnu.org/licenses/} + */ +class aam_View_User extends aam_View_Abstract { + + /** + * Generate UI content + * + * @return string + * + * @access public + */ + public function content() { + return $this->loadTemplate(dirname(__FILE__) . '/tmpl/user.phtml'); + } + + /** + * Retrieve list of users + * + * Based on filters, get list of users + * + * @return string JSON encoded list of users + * + * @access public + */ + public function retrieveList() { + //get total number of users + $total = count_users(); + $result = $this->query(); + $response = array( + 'iTotalRecords' => $total['total_users'], + 'iTotalDisplayRecords' => $result->get_total(), + 'sEcho' => aam_Core_Request::request('sEcho'), + 'aaData' => array(), + ); + foreach ($result->get_results() as $user) { + $response['aaData'][] = array( + $user->ID, + $user->user_login, + ($user->display_name ? $user->display_name : $user->user_nicename), + '', + $user->user_status, + ($this->canManage($user) ? 1 : 0) + ); + } + + return json_encode($response); + } + + /** + * Check if specified user can be managed by current user + * + * @param WP_User $user + * + * @return boolean + * + * @access public + */ + public function canManage(WP_User $user = null){ + //AAM does not support multi-roles. Get only one first role + $roles = $user->roles; + $role = get_role(array_shift($roles)); + //get user's highest level + $level = aam_Core_API::getUserLevel(); + + if (empty($role->capabilities['level_' . $level]) + || !$role->capabilities['level_' . $level] + || aam_Core_API::isSuperAdmin()){ + $response = true; + } else { + $response = false; + } + + return $response; + } + + /** + * Query database for list of users + * + * Based on filters and settings get the list of users from database + * + * @return \WP_User_Query + * + * @access public + */ + public function query() { + if ($search = trim(aam_Core_Request::request('sSearch'))) { + $search = "{$search}*"; + } + $args = array( + 'number' => '', + 'blog_id' => get_current_blog_id(), + 'role' => aam_Core_Request::request('role'), + 'fields' => 'all', + 'number' => aam_Core_Request::request('iDisplayLength'), + 'offset' => aam_Core_Request::request('iDisplayStart'), + 'search' => $search, + 'search_columns' => array('user_login', 'user_email', 'display_name'), + 'orderby' => 'user_nicename', + 'order' => 'ASC' + ); + + return new WP_User_Query($args); + } + + /** + * Block user + * + * @return string + * + * @access public + */ + public function block() { + if ($this->isManagable() && $this->getSubject()->block()){ + $response = array( + 'status' => 'success', + 'user_status' => $this->getSubject()->user_status + ); + } else{ + $response = array('status' => 'failure'); + } + + return json_encode($response); + } + + /** + * Delete user + * + * @return string + * + * @access public + */ + public function delete() { + if ($this->isManagable($this->getSubject()->getUser())){ + $response = $this->getSubject()->delete(); + } else { + $response = false; + } + + return json_encode(array('status' => $response ? 'success' : 'failure')); + } + +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/application/view/visitor.php b/wp-content/plugins/advanced-access-manager/application/view/visitor.php new file mode 100644 index 0000000..3e023b7 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/application/view/visitor.php @@ -0,0 +1,32 @@ + + * @copyright Copyright C 2013 Vasyl Martyniuk + * @license GNU General Public License {@link http://www.gnu.org/licenses/} + */ +class aam_View_Visitor extends aam_View_Abstract +{ + + /** + * Get View content + * + * @return string + * + * @access public + */ + public function content() + { + return $this->loadTemplate(dirname(__FILE__) . '/tmpl/visitor.phtml'); + } + +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/config.php b/wp-content/plugins/advanced-access-manager/config.php new file mode 100644 index 0000000..b853293 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/config.php @@ -0,0 +1,68 @@ +<'clear'>>t<'footer'ip<'clear'>>", + sPaginationType: "full_numbers", + bAutoWidth: false, + bDestroy: true, + bSort: false, + sAjaxSource: ajaxurl, + fnServerParams: function(aoData) { + aoData.push({ + name: 'action', + value: 'aam' + }); + aoData.push({ + name: 'sub_action', + value: 'activity_list' + }); + aoData.push({ + name: 'subject', + value: _this.getSubject().type + }); + aoData.push({ + name: 'subject_id', + value: _this.getSubject().id + }); + aoData.push({ + name: '_ajax_nonce', + value: aamLocal.nonce + }); + }, + fnInitComplete: function() { + var a = jQuery('#activity_list_wrapper .activity-top-actions'); + + var clear = jQuery('', { + 'href': '#', + 'class': 'activity-top-action activity-top-action-clear', + 'aam-tooltip': aamLocal.labels['Clear Logs'] + }).bind('click', function(event) { + event.preventDefault(); + _this.launch(jQuery(this), 'activity-top-action-clear'); + _this.launchClearActivityLog(); + }); + jQuery(a).append(clear); + + var info = jQuery('', { + 'href': '#', + 'class': 'activity-top-action activity-top-action-info', + 'aam-tooltip': aamLocal.labels['Get More'] + }).bind('click', function(event) { + event.preventDefault(); + _this.launch(jQuery(this), 'activity-top-action-info'); + _this.launchActivityLogInfo(); + }); + jQuery(a).append(info); + + _this.doAction('aam_activity_top_actions', {container: a}); + }, + fnRowCallback: function(nRow, aData) { + jQuery('td:eq(0)', nRow).html(jQuery('', { + href: aamLocal.editUserURI + '?user_id=' + aData[0], + target: '_blank' + }).html(aData[1])); + }, + aoColumnDefs: [ + {bVisible: false, aTargets: [0]} + ], + oLanguage: { + sSearch: "", + oPaginate: { + sFirst: "≪", + sLast: "≫", + sNext: ">", + sPrevious: "<" + }, + sLengthMenu: "_MENU_" + } + }); + } +}; + +/** + * Show Clear Activity Log Confirmation dialog + * + * @returns {void} + * + * @access public + */ +AAM.prototype.launchClearActivityLog = function() { + var _this = this; + + var buttons = {}; + + buttons[aamLocal.labels['Clear Logs']] = function() { + jQuery.ajax(aamLocal.ajaxurl, { + type: 'POST', + dataType: 'json', + data: _this.compileAjaxPackage('clear_activities', true), + complete: function() { + jQuery('#clear_activity_dialog').dialog("close"); + } + }); + }; + + buttons[aamLocal.labels['Cancel']] = function() { + jQuery('#clear_activity_dialog').dialog("close"); + }; + + jQuery('#clear_activity_dialog').dialog({ + resizable: false, + height: 'auto', + width: '20%', + modal: true, + buttons: buttons, + close: function() { + _this.terminate( + jQuery('.activity-top-action-clear'), + 'activity-top-action-clear' + ); + //refresh the table + _this.blogTables.activityList = null; + _this.loadActivityTab(); + } + }); +}; + +/** + * Show Activation Log Information Dialog + * + * @returns {void} + * + * @access public + */ +AAM.prototype.launchActivityLogInfo = function() { + var _this = this; + + var buttons = {}; + + buttons[aamLocal.labels['Close']] = function() { + jQuery('#info_activity_dialog').dialog("close"); + }; + + jQuery('#info_activity_dialog').dialog({ + resizable: false, + height: 'auto', + width: '30%', + modal: true, + buttons: buttons, + close: function() { + _this.terminate( + jQuery('.activity-top-action-info'), + 'activity-top-action-info' + ); + } + }); +}; + +jQuery(document).ready(function() { + aamInterface.addAction('aam_feature_activation', function(params) { + if (params.feature === 'activity_log') { + aamInterface.loadActivityTab(); + } + }); +}); \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/activity.php b/wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/activity.php new file mode 100644 index 0000000..ade8914 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/activity.php @@ -0,0 +1,214 @@ + + * @copyright Copyright C 2013 Vasyl Martyniuk + * @license GNU General Public License {@link http://www.gnu.org/licenses/} + */ +class aam_Control_Object_Activity extends aam_Control_Object { + + /** + * Control Object UID + */ + const UID = 'activity'; + + /** + * Activity User Login + */ + const ACTIVITY_LOGIN = 'login'; + + /** + * Activity User Logout + */ + const ACTIVITY_LOGOUT = 'logout'; + + /** + * Set of Activities + * + * @var array + * + * @access private + */ + private $_option = array(); + + /** + * Initialize the Activity list + * + * Based on subject type, load the list of activities + * + * @param int $object_id + * + * @return void + * + * @access public + */ + public function init($object_id) { + if ($this->getSubject()->getUID() == aam_Control_Subject_User::UID) { + //get single user activity list + $option = array( + $this->getSubject()->getId() => $this->getSubject()->readOption( + self::UID, $object_id, false + )); + } else { + //get all users in Role and combine the activities + $query = new WP_User_Query(array( + 'number' => '', + 'blog_id' => get_current_blog_id(), + 'role' => $this->getSubject()->getId(), + 'fields' => 'id' + )); + $option = array(); + + foreach ($query->get_results() as $user) { + $dump = get_user_option('aam_activity', $user); + if (is_array($dump) && count($dump)) { + $option[$user] = $dump; + } + } + } + + if (is_array($option)) { + $this->setOption($option); + //filter old activities + $this->filter(); + } + } + + /** + * Decorate Activity description + * + * @param array $activity + * + * @return string + * + * @access public + */ + public function decorate($activity) { + switch ($activity['action']) { + case self::ACTIVITY_LOGIN: + $response = __('System Login', 'aam'); + break; + + case self::ACTIVITY_LOGOUT: + $response = __('System Logout', 'aam'); + break; + + default: + $response = apply_filters( + 'aam_activity_decorator', + __('Unknown Activity', 'aam'), + $activity + ); + break; + } + + return $response; + } + + /** + * Add User's Activity + * + * This method can be used only for Subject User + * + * @param int $timestamp + * @param array $activity + * + * @return void + * + * @access public + */ + public function add($timestamp, array $activity) { + //make sure that user's activity is array + $user_id = $this->getSubject()->getId(); + if (empty($this->_option[$user_id]) || !is_array($this->_option[$user_id])) { + $this->_option[$user_id] = array(); + } + //add activity + $this->_option[$user_id][$timestamp] = $activity; + + //finally save the activity + $this->save($this->_option[$user_id]); + } + + /** + * Filter old activities + * + * Based on aam.extension.AAM_Activity_Log.date config, filter old activities + * + * @return void + * + * @access public + */ + public function filter() { + $date = strtotime( + aam_Core_ConfigPress::getParam( + 'aam.extension.AAM_Activity_Log.date', 'today - 30 days' + ) + ); + foreach ($this->_option as $user_id => $activities) { + if (is_array($activities)) { + foreach ($activities as $timestamp => $activity) { + if ($timestamp < $date) { + unset($this->_option[$user_id][$timestamp]); + } + } + } + } + } + + /** + * Save Activities + * + * @param array $events + * + * @return void + * + * @access public + */ + public function save($activities = null) { + if (is_array($activities)) { + $this->getSubject()->updateOption($activities, self::UID); + } + } + + /** + * @inheritdoc + */ + public function cacheObject() { + return false; + } + + /** + * + * @return type + */ + public function getUID() { + return self::UID; + } + + /** + * + * @param type $option + */ + public function setOption($option) { + $this->_option = (is_array($option) ? $option : array()); + } + + /** + * + * @return type + */ + public function getOption() { + return $this->_option; + } + +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/extension.php b/wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/extension.php new file mode 100644 index 0000000..7d87076 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/extension.php @@ -0,0 +1,279 @@ + + * @copyright Copyright C 2013 Vasyl Martyniuk + * @license GNU General Public License {@link http://www.gnu.org/licenses/} + */ +class AAM_Extension_ActivityLog extends AAM_Core_Extension { + + /** + * Current subject + * + * @var aam_Control_Subject + */ + private $_subject = null; + + /** + * + * @param aam|aam_View_Connector $parent + */ + public function __construct(aam $parent) { + parent::__construct($parent); + + //include activity object + require_once(dirname(__FILE__) . '/activity.php'); + + if (is_admin()) { + $this->registerFeature(); + } + + //define new Activity Object + add_filter('aam_object', array($this, 'activityObject'), 10, 3); + + //login & logout hooks + add_action('wp_login', array($this, 'login'), 10, 2); + add_action('wp_logout', array($this, 'logout')); + } + + /** + * Register new UI feature + * + * @return void + * + * @access protected + */ + protected function registerFeature() { + $capability = aam_Core_ConfigPress::getParam( + 'aam.feature.activity_log.capability', 'administrator' + ); + + if (current_user_can($capability)) { + add_action('admin_print_scripts', array($this, 'printScripts')); + add_action('admin_print_styles', array($this, 'printStyles')); + add_filter('aam_ajax_call', array($this, 'ajax'), 10, 2); + add_action( + 'aam_localization_labels', array($this, 'localizationLabels') + ); + + aam_View_Collection::registerFeature((object)array( + 'uid' => 'activity_log', + 'position' => 35, + 'title' => __('Activity Log', 'aam'), + 'subjects' => array( + aam_Control_Subject_Role::UID, aam_Control_Subject_User::UID + ), + 'controller' => $this + )); + } + } + + /** + * + * @param type $username + * @param type $user + */ + public function login($username, $user) { + $this->getParent()->getUser() + ->getObject(aam_Control_Object_Activity::UID)->add( + time(), + array( + 'action' => aam_Control_Object_Activity::ACTIVITY_LOGIN + ) + ); + } + + /** + * + */ + public function logout() { + $user = $this->getParent()->getUser(); + $user->getObject(aam_Control_Object_Activity::UID)->add( + time(), + array( + 'action' => aam_Control_Object_Activity::ACTIVITY_LOGOUT + )); + } + + /** + * + * @param aam_Control_Object_Activity $object + * @param type $object_uid + * @param type $object_id + * @return \aam_Control_Object_Activity + */ + public function activityObject($object, $object_uid, $object_id) { + if ($object_uid === aam_Control_Object_Activity::UID) { + $object = new aam_Control_Object_Activity( + $this->getParent()->getUser(), $object_id + ); + } + + return $object; + } + + /** + * + * @return type + */ + public function content() { + ob_start(); + require dirname(__FILE__) . '/ui.phtml'; + $content = ob_get_contents(); + ob_end_clean(); + + return $content; + } + + /** + * Print necessary scripts + * + * @return void + * + * @access public + */ + public function printScripts() { + if ($this->getParent()->isAAMScreen()) { + wp_enqueue_script( + 'aam-activity-log-admin', + AAM_ACTIVITY_LOG_BASE_URL . '/activity.js', + array('aam-admin') + ); + } + } + + /** + * + */ + public function printStyles() { + if ($this->getParent()->isAAMScreen()) { + wp_enqueue_style( + 'aam-activity-log-admin', + AAM_ACTIVITY_LOG_BASE_URL . '/activity.css' + ); + } + } + + /** + * Add extra UI labels + * + * @param array $labels + * + * @return array + * + * @access public + */ + public function localizationLabels($labels) { + $labels['Clear Logs'] = __('Clear Logs', 'aam'); + $labels['Get More'] = __('Get More', 'aam'); + + return $labels; + } + + /** + * Hanlde Ajax call + * + * @param mixed $default + * @param aam_Control_Subject $subject + * + * @return mixed + * + * @access public + */ + public function ajax($default, aam_Control_Subject $subject = null) { + $this->setSubject($subject); + + switch (aam_Core_Request::request('sub_action')) { + case 'activity_list': + $response = $this->getActivityList(); + break; + + case 'clear_activities': + $response = $this->clearActivities(); + break; + + default: + $response = $default; + break; + } + + return $response; + } + + /** + * + * @return type + */ + protected function getActivityList() { + $response = array( + 'iTotalRecords' => 0, + 'iTotalDisplayRecords' => 0, + 'sEcho' => aam_Core_Request::request('sEcho'), + 'aaData' => array(), + ); + + $activity = $this->getSubject()->getObject(aam_Control_Object_Activity::UID); + $activities = $activity->getOption(); + + foreach ($activities as $user_id => $list) { + $user = new WP_User($user_id); + if ($user->ID && is_array($list)) { + foreach ($list as $time => $data) { + $response['aaData'][] = array( + $user->ID, + ($user->display_name ? $user->display_name : $user->user_nicename), + $activity->decorate($data), + date('Y-m-d H:i:s', $time) + ); + } + } + } + + return json_encode($response); + } + + /** + * Clear the activities + * + * @global wpdb $wpdb + * + * @return string + * + * @access public + */ + protected function clearActivities() { + $activity = $this->getSubject()->getObject(aam_Control_Object_Activity::UID); + foreach ($activity->getOption() as $user_id => $list) { + delete_user_option($user_id, 'aam_activity'); + } + + return json_encode(array('status' => 'success')); + } + + /** + * + * @param aam_Control_Subject $subject + */ + public function setSubject($subject) { + $this->_subject = $subject; + } + + /** + * + * @return aam_Control_Subject + */ + public function getSubject() { + return $this->_subject; + } + +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/images/info-active.png b/wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/images/info-active.png new file mode 100644 index 0000000000000000000000000000000000000000..2c3a25c1e4ed1b8030d762100477079b701f183a GIT binary patch literal 342 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM3?#3wJbMaANtU=qlmzFem6RtIr7}3CqwkS4pgS2nUHx3vIVCg!00{e@9{>OV literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/images/info.png b/wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/images/info.png new file mode 100644 index 0000000000000000000000000000000000000000..e582316089891e0b18c1d977b2de10e806699056 GIT binary patch literal 342 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM3?#3wJbMaANtU=qlmzFem6RtIr7}3CWDy5~X}*J=?jm6|x7}1A|1DTtPP}bej~#*(a8V z#2?WL4cV?`+PCM0)t=jDm#nHC%EA8e=YUvc44 z@~YE^@4vqA^!?ci{_5<@PBpW0<{a$ zKmL_GtM*i%$@9vMYkF1b+raGtj6(U$9P`ghI2sGiI{Qd^#hFbrxVF!@c}wBXffl*c zgMn?Acxv?Yl8v2r7EF{m)$da2(I#10HtX1O9r44wKh>Q(!o=RX#3=Ku7JcwStFv1C zP!VTh`E-}ddmsF56OTVQpPT8p@`RZYpKo0(4+!0GS@zzV)*Gk2?{H7Fd-l`#Z|uow k7kGtoG;V&o8Q#FiuzF3JNVPyr4$wOcp00i_>zopr05UTs1^@s6 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/images/trash.png b/wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/images/trash.png new file mode 100644 index 0000000000000000000000000000000000000000..42570a1f98c248cfe3a8af815d7899cea2712ac4 GIT binary patch literal 524 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM3?#3wJbMaANtU=qlmzFem6RtIr7}3CC&aCQ>SjgetParent()); \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/ui.phtml b/wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/ui.phtml new file mode 100644 index 0000000..a499b0a --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/extension/AAM_Activity_Log/ui.phtml @@ -0,0 +1,33 @@ + + \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/extension.php b/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/extension.php new file mode 100644 index 0000000..bc68795 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/extension.php @@ -0,0 +1,253 @@ + + * @copyright Copyright C 2014 Vasyl Martyniuk + * @license GNU General Public License {@link http://www.gnu.org/licenses/} + */ +class AAM_Extension_Multisite extends AAM_Core_Extension { + + /** + * + * @var type + */ + private $_subject = null; + + /** + * + * @param aam|aam_View_Connector $parent + */ + public function __construct(aam $parent) { + parent::__construct($parent); + if (aam_Core_API::isNetworkPanel()) { + add_action('admin_print_scripts', array($this, 'printScripts')); + add_action('admin_print_styles', array($this, 'printStyles')); + add_action('aam_localization_labels', array($this, 'localizationLabels')); + add_action('wpmu_new_blog', array($this, 'newBlog'), 10, 6); + $this->registerSubject(); + } elseif (is_admin()) { + add_filter('aam_ajax_call', array($this, 'ajax'), 10, 2); + } + } + + /** + * + * @param type $blog_id + * @param type $user_id + * @param type $domain + * @param type $path + * @param type $site_id + * @param type $meta + */ + public function newBlog($blog_id, $user_id, $domain, $path, $site_id, $meta) { + global $wpdb; + + if ($default_id = aam_Core_API::getBlogOption('aam_default_site', 0, 1)){ + $default_option = $wpdb->get_blog_prefix($default_id) . 'user_roles'; + $roles = aam_Core_API::getBlogOption($default_option, null, $default_id); + if ($roles){ + aam_Core_API::updateBlogOption( + $wpdb->get_blog_prefix($blog_id) . 'user_roles', + $roles, $blog_id + ); + } + } + } + + /** + * + * @return type + */ + protected function getSiteList() { + //retrieve site list first + $blog_list = $this->retrieveSiteList(); + + $response = array( + 'iTotalRecords' => count($blog_list), + 'iTotalDisplayRecords' => count($blog_list), + 'sEcho' => aam_Core_Request::request('sEcho'), + 'aaData' => array(), + ); + $default = aam_Core_API::getBlogOption('aam_default_site', 0, 1); + + foreach ($blog_list as $site) { + $blog = get_blog_details($site->blog_id); + $response['aaData'][] = array( + $site->blog_id, + get_admin_url($site->blog_id, 'admin.php'), + get_admin_url($site->blog_id, 'admin-ajax.php'), + $blog->blogname, + '', + ($site->blog_id == $default ? 1 : 0) + ); + } + + return json_encode($response); + } + + /** + * Retieve the list of sites + * + * @return array + * + * @access public + */ + public function retrieveSiteList(){ + global $wpdb; + + return $wpdb->get_results('SELECT blog_id FROM ' . $wpdb->blogs); + } + + /** + * Register new subject Multisite + * + * @return void + * + * @access public + */ + public function registerSubject() { + aam_View_Collection::registerSubject((object)array( + 'position' => 1, + 'segment' => 'multisite', + 'label' => __('Sites', 'aam'), + 'title' => __('Site Manager', 'aam'), + 'class' => 'manager-item manager-item-multisite', + 'uid' => 'multisite', + 'controller' => $this + )); + } + + /** + * + * @return type + */ + public function content() { + ob_start(); + require dirname(__FILE__) . '/ui.phtml'; + $content = ob_get_contents(); + ob_end_clean(); + + return $content; + } + + /** + * Print necessary scripts + * + * @return void + * + * @access public + */ + public function printScripts() { + if ($this->getParent()->isAAMScreen()) { + wp_enqueue_script( + 'aam-multisite-admin', + AAM_MULTISITE_BASE_URL . '/multisite.js', + array('aam-admin') + ); + $localization = array( + 'nonce' => wp_create_nonce('aam_ajax'), + 'addSiteURI' => admin_url('network/site-new.php'), + 'editSiteURI' => admin_url('network/site-info.php') + ); + + wp_localize_script( + 'aam-multisite-admin', 'aamMultisiteLocal', $localization + ); + } + } + + /** + * + */ + public function printStyles() { + if ($this->getParent()->isAAMScreen()) { + wp_enqueue_style( + 'aam-multisite-admin', AAM_MULTISITE_BASE_URL . '/multisite.css' + ); + } + } + + /** + * + * @param type $labels + * @return type + */ + public function localizationLabels($labels) { + $labels['Set Default'] = __('Set Default', 'aam'); + $labels['Unset Default'] = __('Unset Default', 'aam'); + $labels['Set as Default'] = __('Set as Default', 'aam'); + + return $labels; + } + + /** + * + * @param type $default + * @param aam_Control_Subject $subject + * @return type + */ + public function ajax($default, aam_Control_Subject $subject = null) { + $this->setSubject($subject); + + switch (aam_Core_Request::request('sub_action')) { + case 'site_list': + $response = $this->getSiteList(); + break; + + case 'pin_site': + $response = $this->pinSite(); + break; + + case 'unpin_site': + $response = $this->unpinSite(); + break; + + default: + $response = $default; + break; + } + + return $response; + } + + protected function pinSite() { + return json_encode(array( + 'status' => aam_Core_API::updateBlogOption( + 'aam_default_site', aam_Core_Request::post('blog'), 1 + ) ? 'success' : 'failure' + )); + } + + protected function unpinSite() { + return json_encode(array( + 'status' => aam_Core_API::deleteBlogOption('aam_default_site', 1) ? 'success' : 'failure' + )); + } + + /** + * + * @param type $subject + */ + public function setSubject($subject) { + $this->_subject = $subject; + } + + /** + * + * @return type + */ + public function getSubject() { + return $this->_subject; + } + +} diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/add-active.png b/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/add-active.png new file mode 100644 index 0000000000000000000000000000000000000000..a17cc4ad52ecf931b9c7e71311b62dd0bc34c9a6 GIT binary patch literal 3185 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/edit-active.png b/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/edit-active.png new file mode 100644 index 0000000000000000000000000000000000000000..17506cff92b28282c54fc6b35f32f0550db4a4f3 GIT binary patch literal 3219 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 FV1mLh0L}ma literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/edit.png b/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/edit.png new file mode 100644 index 0000000000000000000000000000000000000000..03fcd8053842fc469733e8004cb8c976718dd3bd GIT binary patch literal 3298 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/manage-active.png b/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/manage-active.png new file mode 100644 index 0000000000000000000000000000000000000000..ad1aa62b0b56d5a68da1bc5a91e8d2ce9a47c6ba GIT binary patch literal 3197 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/manage.png b/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/manage.png new file mode 100644 index 0000000000000000000000000000000000000000..6a1aec37126e17cbd96a25e26f9f47f04b23ff2b GIT binary patch literal 3141 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/refresh-active.png b/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/refresh-active.png new file mode 100644 index 0000000000000000000000000000000000000000..a2d280e949adb3b2b6f496408deeff872e2dab64 GIT binary patch literal 3654 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/refresh.png b/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/refresh.png new file mode 100644 index 0000000000000000000000000000000000000000..6b43550d072094a9304ac2445e72dc70a88e14e1 GIT binary patch literal 3621 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/unpin.png b/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/images/unpin.png new file mode 100644 index 0000000000000000000000000000000000000000..c48aaa3938f08fb0f3d4bcdaeb2af31593659443 GIT binary patch literal 1393 zcmV-%1&;cOP)z85ALH5m z*!#{L@7&k8;IPkLXYIYd{W@!HW38oH5s?(|7|;L=^G_{s8t4Lk2KE7mRkgdCK20S6 z5vd230*ioARkHpI>;&Fb)jzHYKtv3%5NO7YG%r^G1x^CL1DAo}{z(J%3ETgG4Zs>z zJzq6|AN6)%ZbID#YytMF>OUo*>w#&&d|*!EQwK0hRZmp}5RqZPL12tm{Q@+p>et1b zmJ$)k0PBHCUeyIWs;aq?03tF7H@$az)e&Hts-EkQ^F)6E@E)+-tNsEqs(K=C6BM-h zEa4nrytVfJemY$yBCi0bYOJcS;r0^1P+*^k4DJIUB8|Y4zS;&{1O^&o_J(0Ny&C7~ zboyD~17N*~tj+6Hbt|yiSH}YDt^yE|fxtUn_bV{fT07fA3^2y*sRWV9WX4%*Hzian zk`Ta3pw+)G5Rp530Du>Pk^a3&RnJ9H)LICUPN%09bKcOLkGPzHC?3-TBsq5OEwg7dkh_1a)GV<$aSYhz^^c3lO@WAv zruWEwTG%>@qSiQ$XIg6y8DlmVehU3FiPfu)uIt z?JCziBS0aL>KBCteNlY0XZIf47F@2y=48KpMQd3F{WGpb+S6c#A{Q)@c74wTVN~KaOahcAy!1!D) zcLX4t&2BTsEC5bkxNxBvz*@V=7&AEtg8g9_K3t@`MqgT>B_9j6`*MniJe0Ifr_)o7 zF>hLHo1-Y2;g4jGWV6{%fUvW(^Bh1B1kIEPHsE8 zm@vXxyTKUqNEAhHTWjNDGn9nNX0zXw3FT{nfqwLFKq4g*k(Yswyy0fxC16c$ZSBUk zwzfXWWF-m1aJn&O4=}*PZ1H^pe6FhV3IS?x2}6Df)&i?k^>Tlmmw?F22_UViXCRT1 zsp=KrDO^Sb@H#HFs^JrIy9trc%H&zzety2kw~9Qq|7FHs!8nb+~0% z4qTu3bQU;7@vGS+uKuN8!5#6Y!sA;JAOSKIm(ex?gUcHC%4J|buu@fjEN55|AOSJ} zn1Z{WkHd}hR@_EDgPVgetParent()); \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/multisite.css b/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/multisite.css new file mode 100644 index 0000000..7668ed4 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/multisite.css @@ -0,0 +1,98 @@ +/** + * ====================================================================== + * LICENSE: This file is subject to the terms and conditions defined in * + * file 'license.txt', which is part of this source code package. * + * ====================================================================== + */ + +/** CONTROL MANAGER STYLES **/ +.manager-item-multisite{ + background-image: url('images/multisite.png'); +} + +.manager-item-multisite-active{ + background-image: url('images/multisite-active.png'); +} + +.multisite-top-actions{ + float: right; + display: inline-table; + width: auto; + text-align: right; +} + +.multisite-top-action{ + width: 24px; + height: 24px; + display: table-cell; + text-indent: -9999px; + padding-right: 10px; + background-repeat: no-repeat; + background-position: center; +} + +.multisite-top-action-add{ + background-image: url('images/add.png'); +} + +.multisite-top-action-add:hover{ + background-image: url('images/add-active.png'); +} + +.multisite-top-action-refresh{ + background-image: url('images/refresh.png'); +} + +.multisite-top-action-refresh:hover{ + background-image: url('images/refresh-active.png'); +} + +.multisite-actions{ + width: 100%; + display: table; +} + +.multisite-action{ + width: 16px; + height: 16px; + display: table-cell; + text-indent: -9999px; + background-repeat: no-repeat; + background-position: center; +} + +.multisite-action-manage{ + background-image: url('images/manage.png'); +} + +.multisite-action-manage:hover{ + background-image: url('images/manage-active.png'); +} + +.multisite-action-manage-active{ + background-image: url('images/manage-active.png'); +} + +.multisite-action-pin{ + background-image: url('images/pin.png'); +} + +.multisite-action-pin-active{ + background-image: url('images/pin-active.png'); +} + +.multisite-action-pin:hover{ + background-image: url('images/pin-active.png'); +} + +.multisite-action-edit{ + background-image: url('images/edit.png'); +} + +.multisite-action-edit:hover{ + background-image: url('images/edit-active.png'); +} + +.aam-multisite-bold{ + font-weight: bold; +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/multisite.js b/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/multisite.js new file mode 100644 index 0000000..c1acd21 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/multisite.js @@ -0,0 +1,228 @@ +/** + * ====================================================================== + * LICENSE: This file is subject to the terms and conditions defined in * + * file 'license.txt', which is part of this source code package. * + * ====================================================================== + */ + +AAM.prototype.site_id = 1; +AAM.prototype.segmentTables.siteList = null; + +AAM.prototype.reloadSite = function(site_id, siteurl, ajaxurl) { + var _this = this; + this.site_id = site_id; + aamLocal.siteURI = siteurl; + aamLocal.ajaxurl = ajaxurl; + + //reset default values for current subjects + this.setSubject('role', aamLocal.defaultSegment.role); + + this.retrieveSettings(); + + //highlight the active site + jQuery('#site_list .aam-multisite-bold').removeClass('aam-multisite-bold'); + jQuery('#site_list .multisite-action-manage-active').each(function() { + _this.terminate(jQuery(this), 'multisite-action-manage'); + }); + var nRow = jQuery('#site_list tr[site="' + site_id + '"]'); + jQuery('td:eq(0)', nRow).addClass('aam-multisite-bold'); + this.launch(jQuery('.multisite-action-manage', nRow), 'multisite-action-manage'); + + //reload all segmentTables + for (var i in this.segmentTables) { + if (this.segmentTables[i] !== null) { + this.segmentTables[i].fnDraw(); + } + } +}; + +AAM.prototype.loadMultisiteSegment = function() { + var _this = this; + + if (typeof this.siteList === 'undefined') { + this.siteList = jQuery('#site_list').dataTable({ + sDom: "<'top'f<'multisite-top-actions'><'clear'>>t<'footer'ip<'clear'>>", + bServerSide: true, + sPaginationType: "full_numbers", + bAutoWidth: false, + bSort: false, + sAjaxSource: ajaxurl, + fnServerParams: function(aoData) { + aoData.push({ + name: 'action', + value: 'aam' + }); + aoData.push({ + name: 'sub_action', + value: 'site_list' + }); + aoData.push({ + name: '_ajax_nonce', + value: aamLocal.nonce + }); + aoData.push({ + name: 's', + value: jQuery('#site_list_filter input').val() + }); + }, + fnInitComplete: function() { + var add = jQuery('', { + 'href': aamMultisiteLocal.addSiteURI, + 'target': '_blank', + 'class': 'multisite-top-action multisite-top-action-add', + 'aam-tooltip': aamLocal.labels['Add New Site'] + }); + jQuery('#site_list_wrapper .multisite-top-actions').append(add); + + var refresh = jQuery('', { + 'href': '#', + 'class': 'multisite-top-action multisite-top-action-refresh', + 'aam-tooltip': aamLocal.labels['Refresh'] + }).bind('click', function(event) { + event.preventDefault(); + _this.siteList.fnDraw(); + }); + jQuery('#site_list_wrapper .multisite-top-actions').append(refresh); + + _this.initTooltip(jQuery('#site_list_wrapper .site-top-actions')); + }, + fnDrawCallback: function() { + jQuery('#multisite_list_wrapper .clear-table-filter').bind('click', function(event) { + event.preventDefault(); + jQuery('#multisite_list_filter input').val(''); + _this.siteList.fnFilter(''); + }); + }, + oLanguage: { + sSearch: "", + oPaginate: { + sFirst: "≪", + sLast: "≫", + sNext: ">", + sPrevious: "<" + } + }, + aoColumnDefs: [ + { + bVisible: false, + aTargets: [0, 1, 2, 4] + } + ], + fnRowCallback: function(nRow, aData) { //format data + jQuery('td:eq(1)', nRow).html(jQuery('
        ', { + 'class': 'multisite-actions' + })); // + //add role attribute + jQuery(nRow).attr('site', aData[0]); + + if (parseInt(aData[0]) === _this.site_id) { + jQuery('.current-site').html(aData[3] + ':'); + jQuery('td:eq(0)', nRow).addClass('aam-multisite-bold'); + var current = true; + } else { + current = false; + } + + jQuery('.multisite-actions', nRow).empty(); + jQuery('.multisite-actions', nRow).append(jQuery('', { + 'href': '#', + 'class': 'multisite-action multisite-action-manage' + (current ? '-active' : ''), + 'aam-tooltip': aamLocal.labels['Manage'] + }).bind('click', function(event) { + event.preventDefault(); + //change title + jQuery('.current-site').html(aData[3] + ':'); + _this.reloadSite(aData[0], aData[1], aData[2]); + })); + + var def_site = (parseInt(aData[5]) === 1 ? true : false); + + jQuery('.multisite-actions', nRow).append(jQuery('', { + 'href': '#', + 'class': 'multisite-action multisite-action-pin' + (def_site ? '-active' : ''), + 'aam-tooltip': (def_site ? aamLocal.labels['Unset Default'] : aamLocal.labels['Set as Default']) + }).bind('click', function(event) { + event.preventDefault(); + var button = this; + + if (def_site) { + var unpin_data = _this.compileAjaxPackage('unpin_site', false); + unpin_data.blog = aData[0]; + jQuery.ajax(ajaxurl, { + type: 'POST', + dataType: 'json', + data: unpin_data, + success: function(response) { + if (response.status === 'success') { + _this.siteList.fnDraw(); + } + _this.highlight('.control-manager-content', response.status); + }, + error: function() { + _this.highlight('.control-manager-content', 'failure'); + } + }); + } else { + jQuery('#default_site').html(aData[3]); + var pin_data = _this.compileAjaxPackage('pin_site', false); + pin_data.blog = aData[0]; + + var buttons = {}; + buttons[aamLocal.labels['Set Default']] = function() { + jQuery.ajax(ajaxurl, { + type: 'POST', + dataType: 'json', + data: pin_data, + success: function(response) { + if (response.status === 'success') { + _this.siteList.fnDraw(); + } + _this.highlight('.control-manager-content', response.status); + }, + error: function() { + _this.highlight('.control-manager-content', 'failure'); + }, + complete: function() { + jQuery("#tap_default_site").dialog("close"); + } + }); + jQuery("#tap_default_site").dialog("close"); + }; + buttons[aamLocal.labels['Cancel']] = function() { + jQuery("#tap_default_site").dialog("close"); + }; + + jQuery("#tap_default_site").dialog({ + resizable: false, + height: 'auto', + modal: true, + buttons: buttons + }); + } + })); + + jQuery('.multisite-actions', nRow).append(jQuery('', { + 'href': aamMultisiteLocal.editSiteURI + '?id=' + aData[0], + 'class': 'multisite-action multisite-action-edit', + 'target': '_blank', + 'aam-tooltip': aamLocal.labels['Edit'] + })); + + _this.initTooltip(nRow); + }, + fnInfoCallback: function(oSettings, iStart, iEnd, iMax, iTotal, sPre) { + return (iMax !== iTotal ? _this.clearFilterIndicator() : ''); + } + }); + } + + jQuery('#multisite_manager_wrap').show(); +}; + +jQuery(document).ready(function() { + aamInterface.addAction('aam_load_segment', function() { + aamInterface.loadMultisiteSegment(); + }); + //by default load the Multisite panel first + aamInterface.loadSegment('multisite'); +}); \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/ui.phtml b/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/ui.phtml new file mode 100644 index 0000000..781a4b8 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/extension/AAM_Multisite_Support/ui.phtml @@ -0,0 +1,32 @@ + +
        + + + + + + + + + + + + +
        Site IDSite URLSite Ajax URLDefault
        +
        +

        + +

        +

        + +

        +
        +
        \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_My_Feature/extension.php b/wp-content/plugins/advanced-access-manager/extension/AAM_My_Feature/extension.php new file mode 100644 index 0000000..7f80219 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/extension/AAM_My_Feature/extension.php @@ -0,0 +1,113 @@ + + * @copyright Copyright C Vasyl Martyniuk + * @license GNU General Public License {@link http://www.gnu.org/licenses/} + */ +class AAM_Extension_MyFeature extends AAM_Core_Extension { + + /** + * Constructor + * + * @param aam $parent + * + * @return void + * + * @access public + */ + public function __construct(aam $parent) { + parent::__construct($parent); + + if (is_admin()) { + $this->registerFeature(); + } + } + + /** + * Register feature + * + * @return void + * + * @access protected + */ + protected function registerFeature() { + //add feature + $capability = aam_Core_ConfigPress::getParam( + 'aam.feature.my_feature.capability', 'administrator' + ); + + if (current_user_can($capability)) { + add_action('admin_print_scripts', array($this, 'printScripts')); + add_action('admin_print_styles', array($this, 'printStyles')); + aam_View_Collection::registerFeature((object)array( + 'uid' => 'my_feature', + 'position' => 100, + 'title' => __('My Feature', 'aam'), + 'subjects' => array( + aam_Control_Subject_Role::UID, + aam_Control_Subject_User::UID, + aam_Control_Subject_Visitor::UID + ), + 'controller' => $this + )); + } + } + + /** + * + * @return type + */ + public function content() { + ob_start(); + require dirname(__FILE__) . '/ui.phtml'; + $content = ob_get_contents(); + ob_end_clean(); + + return $content; + } + + /** + * Print necessary scripts + * + * @return void + * + * @access public + */ + public function printScripts() { + if ($this->getParent()->isAAMScreen()) { + wp_enqueue_script( + 'aam-my-feature-admin', + AAM_MY_FEATURE_BASE_URL . '/my_feature.js', + array('aam-admin') + ); + } + } + + /** + * Register stylesheets + * + * @return void + * + * @access public + */ + public function printStyles() { + if ($this->getParent()->isAAMScreen()) { + wp_enqueue_style( + 'aam-my-feature-admin', + AAM_MY_FEATURE_BASE_URL . '/my_feature.css' + ); + } + } + +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_My_Feature/images/worker.png b/wp-content/plugins/advanced-access-manager/extension/AAM_My_Feature/images/worker.png new file mode 100644 index 0000000000000000000000000000000000000000..8fb52cf1302db61f8ab18126ce63f43ec61c6a8f GIT binary patch literal 2561 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 zoc*}%>!0zzy~FgetParent()); \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_My_Feature/my_feature.css b/wp-content/plugins/advanced-access-manager/extension/AAM_My_Feature/my_feature.css new file mode 100644 index 0000000..83e3f5d --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/extension/AAM_My_Feature/my_feature.css @@ -0,0 +1,22 @@ +/** + * ====================================================================== + * LICENSE: This file is subject to the terms and conditions defined in * + * file 'license.txt', which is part of this source code package. * + * ====================================================================== + */ +.my-feature-banner{ + width: 100%; + background: transparent url('images/worker.png') no-repeat center 10px; + padding-top: 150px; + -moz-box-sizing: border-box; + box-sizing: border-box; + -webkit-box-sizing: border-box; +} + +.my-feature-banner .banner-style{ + margin: 0px 10px; + font-family: "Trebuchet MS", Helvetica, sans-serif; + font-size: 1.2em; + font-weight: bold; + text-align: center; +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_My_Feature/my_feature.js b/wp-content/plugins/advanced-access-manager/extension/AAM_My_Feature/my_feature.js new file mode 100644 index 0000000..90f373a --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/extension/AAM_My_Feature/my_feature.js @@ -0,0 +1,20 @@ +/** + * ====================================================================== + * LICENSE: This file is subject to the terms and conditions defined in * + * file 'license.txt', which is part of this source code package. * + * ====================================================================== + */ + +AAM.prototype.myFeature = function() { + //Send Email to Us + jQuery('.my-feature-message-action').bind('click', function(event) { + event.preventDefault(); + jQuery('#aam_message').trigger('click'); + }); +}; + +jQuery(document).ready(function() { + aamInterface.addAction('aam_init_features', function() { + aamInterface.myFeature(); + }); +}); \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_My_Feature/ui.phtml b/wp-content/plugins/advanced-access-manager/extension/AAM_My_Feature/ui.phtml new file mode 100644 index 0000000..52d552c --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/extension/AAM_My_Feature/ui.phtml @@ -0,0 +1,19 @@ + +
        \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/extension.php b/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/extension.php new file mode 100644 index 0000000..5ff6f2a --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/extension.php @@ -0,0 +1,384 @@ + + * @copyright Copyright C Vasyl Martyniuk + * @license GNU General Public License {@link http://www.gnu.org/licenses/} + */ +class AAM_Secure extends AAM_Core_Extension { + + /** + * Unique Feature ID + */ + const FEATURE_ID = 'secure'; + + /** + * + * @var type + */ + private $_cache = array(); + + /** + * + * @var type + */ + private $_cacheLimit = 1000; + + /** + * + * @var type + */ + private $_stats = array(); + + /** + * Constructor + * + * @param aam $parent Main AAM object + * + * @return void + * + * @access public + */ + public function __construct(aam $parent) { + parent::__construct($parent); + + if (is_admin()) { + //print required JS & CSS + add_action('admin_print_scripts', array($this, 'printScripts')); + add_action('admin_print_styles', array($this, 'printStyles')); + add_action('admin_head', array($this, 'adminHead')); + + //manager Admin Menu + if (aam_Core_API::isNetworkPanel()) { + add_action('network_admin_menu', array($this, 'adminMenu'), 999); + } else { + add_action('admin_menu', array($this, 'adminMenu'), 999); + } + //manager AAM Ajax Requests + add_action('wp_ajax_aam_security', array($this, 'ajax')); + } + + add_filter('wp_login_errors', array($this, 'loginFailure'), 10, 2); + add_action('wp_login', array($this, 'login'), 10, 2); + + //add_filter('authenticate', array($this, 'authenticate'), 999, 3); + } + + /** + * + * @param type $username + * @param type $user + */ + public function login($username, $user) { + $this->_cache = aam_Core_API::getBlogOption( + 'aam_security_login_cache', array() + ); + $ip = aam_Core_Request::server('REMOTE_ADDR'); + if ($this->hasIPCache($ip)) { + $data = $this->getIPCache($ip); + $data->attempts = 0; //reset counter + $this->addIPCache($ip, $data); + aam_Core_API::updateBlogOption( + 'aam_security_login_cache', $this->_cache + ); + } + } + + /** + * + * @return type + */ + public function isGeoLookupOn() { + $geo_lookup = aam_Core_ConfigPress::getParam( + 'security.login.geo_lookup', 'false' + ); + + return ($geo_lookup == 'true' ? true : false); + } + + /** + * + * @return type + */ + public function isLoginLockoutOn() { + $login_lock = aam_Core_ConfigPress::getParam( + 'security.login.lockout', 'false' + ); + + return ($login_lock == 'true' ? true : false); + } + + /** + * + * @param type $errors + * @param type $redirect_to + */ + public function loginFailure($errors, $redirect_to) { + $this->_cache = aam_Core_API::getBlogOption( + 'aam_security_login_cache', array() + ); + $this->_cacheLimit = aam_Core_ConfigPress::getParam( + 'security.login.cache_limit', 1000 + ); + if ($this->isGeoLookupOn()) { + $this->_stats = aam_Core_API::getBlogOption( + 'aam_security_login_stats', array() + ); + $info = $this->retrieveGeoData(); + if ($info instanceof stdClass) { + if (!isset($this->_stats[$info->countryCode])) { + $this->_stats[$info->countryCode] = array( + 'failed' => 0 + ); + } + $this->_stats[$info->countryCode]['failed']++; + aam_Core_API::updateBlogOption( + 'aam_security_login_stats', $this->_stats + ); + } + } + if ($this->isLoginLockoutOn()) { + $this->loginLockout(); + } + aam_Core_API::updateBlogOption( + 'aam_security_login_cache', $this->_cache + ); + + return $errors; + } + + /** + * + */ + protected function loginLockout() { + $ip = aam_Core_Request::server('REMOTE_ADDR'); + if ($this->hasIPCache($ip)) { + $info = $this->getIPCache($ip); + } else { + $info = new stdClass; + } + + if (!isset($info->attempts)) { + $info->attempts = 1; + } else { + $info->attempts++; + } + $threshold = aam_Core_ConfigPress::getParam( + 'security.login.attempts', 10 + ); + if ($info->attempts >= $threshold) { + $action = aam_Core_ConfigPress::getParam( + 'security.login.attempt_failure', 'slowdown' + ); + switch ($action) { + case 'slowdown': + $time = aam_Core_ConfigPress::getParam( + 'security.login.slowdown_time', '5' + ); + sleep(intval($time)); + break; + + case 'die': + wp_die(aam_Core_ConfigPress::getParam( + 'security.login.die_message', 'You are not allowed to login' + )); + break; + + default: + break; + } + } + } + + /** + * + * @return null + */ + protected function retrieveGeoData() { + $ip = aam_Core_Request::server('REMOTE_ADDR'); + if ($this->hasIPCache($ip)) { + $location = $this->getIPCache($ip); + } else { + $service = aam_Core_ConfigPress::getParam( + 'security.login.geoip.service', 'FreeGeoIP' + ); + $filename = dirname(__FILE__) . '/geoip/' . strtolower($service) . '.php'; + + if (file_exists($filename)) { + require_once($filename); + $location = call_user_func("{$service}::query", $ip); + $this->addIPCache($ip, $location); + } else { + $location = null; + } + } + + return $location; + } + + /** + * + * @param type $ip + * @return type + */ + protected function hasIPCache($ip) { + return (isset($this->_cache[$ip]) ? true : false); + } + + /** + * + * @param type $ip + * @return type + */ + protected function getIPCache($ip) { + return ($this->hasIPCache($ip) ? $this->_cache[$ip] : null); + } + + /** + * + * @param type $ip + * @param type $data + */ + protected function addIPCache($ip, $data) { + if (!is_null($data)) { + if ((count($this->_cache) >= $this->_cacheLimit) && !isset($this->_cache[$ip])) { + array_shift($this->_cache); + } + $this->_cache[$ip] = $data; + } + } + + /** + * Print necessary styles + * + * @return void + * + * @access public + */ + public function printStyles() { + if ($this->isSecurityScreen()) { + wp_enqueue_style('dashboard'); + wp_enqueue_style('global'); + wp_enqueue_style('wp-admin'); + wp_enqueue_style('aam-ui-style', AAM_MEDIA_URL . 'css/jquery-ui.css'); + wp_enqueue_style('aam-common-style', AAM_MEDIA_URL . 'css/common.css'); + wp_enqueue_style('aam-security-style', AAM_SECURITY_BASE_URL . '/stylesheet/security.css'); + if ($this->isGeoLookupOn()) { + wp_enqueue_style('aam-datatable', AAM_MEDIA_URL . 'css/jquery.dt.css'); + wp_enqueue_style('aam-country-flags', AAM_SECURITY_BASE_URL . '/stylesheet/flags32.css'); + } + } + } + + /** + * Print necessary scripts + * + * @return void + * + * @access public + */ + public function printScripts() { + if ($this->isSecurityScreen()) { + wp_enqueue_script('postbox'); + wp_enqueue_script('dashboard'); + if ($this->isGeoLookupOn()) { + wp_enqueue_script('aam-datatable', AAM_MEDIA_URL . 'js/jquery.dt.js'); + wp_enqueue_script('google-jsapi', 'https://www.google.com/jsapi'); + } + wp_enqueue_script('aam-security', AAM_SECURITY_BASE_URL . '/javascript/security.js'); + $localization = array( + 'nonce' => wp_create_nonce('aam_ajax'), + 'ajaxurl' => admin_url('admin-ajax.php'), + ); + wp_localize_script('aam-security', 'aamLocal', $localization); + } + } + + /** + * + */ + public function adminHead() { + if ($this->isSecurityScreen() && $this->isGeoLookupOn()) { + echo ''; + } + } + + /** + * + * @return type + */ + public function isSecurityScreen() { + return (aam_Core_Request::get('page') == 'aam-security' ? true : false); + } + + /** + * Register Admin Menu + * + * @return void + * + * @access public + */ + public function adminMenu() { + //register submenus + add_submenu_page( + 'aam', __('Security', 'aam'), __('Security', 'aam'), aam_Core_ConfigPress::getParam( + 'aam.page.security.capability', 'administrator' + ), 'aam-security', array($this, 'content') + ); + } + + /** + * + */ + public function content() { + require_once(dirname(__FILE__) . '/security.php'); + $security = new aam_View_Security(); + echo $security->run(); + } + + public function ajax() { + check_ajax_referer('aam_ajax'); + + //clean buffer to make sure that nothing messing around with system + while (@ob_end_clean()); + + //process ajax request + try { + require_once(dirname(__FILE__) . '/security.php'); + $model = new aam_View_Security(); + echo $model->processAjax(); + } catch (Exception $e) { + echo '-1'; + } + die(); + } + + /** + * + * @param type $user + * @param type $username + * @param type $password + * @return type + */ + public function authenticate($user, $username, $password) { + if (!is_wp_error($user)) { + $login_history = get_user_meta($user->ID, 'aam_login_history', true); + $ip = aam_Core_Request::server('REMOTE_ADDR'); + } + + return $user; + } + +} diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/geoip/freegeoip.php b/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/geoip/freegeoip.php new file mode 100644 index 0000000..5d34567 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/geoip/freegeoip.php @@ -0,0 +1,31 @@ + (string) $data->CountryCode, + 'countryName' => (string) $data->CountryName, + 'region' => (string) $data->RegionCode, + 'city' => (string) $data->City, + 'zip' => (string) $data->ZipCode + ); + } else { + $geodata = null; + } + + return $geodata; + } + +} diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/geoip/geoip.php b/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/geoip/geoip.php new file mode 100644 index 0000000..a93b0c9 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/geoip/geoip.php @@ -0,0 +1,15 @@ +getParent()); \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/javascript/loader.js b/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/javascript/loader.js new file mode 100644 index 0000000..2e9886f --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/javascript/loader.js @@ -0,0 +1,41 @@ +/** + * ====================================================================== + * LICENSE: This file is subject to the terms and conditions defined in * + * file 'license.txt', which is part of this source code package. * + * ====================================================================== + */ + +google.load('visualization', '1', {'packages': ['geochart']}); +google.setOnLoadCallback(drawRegionsMap); + +function drawRegionsMap() { + jQuery.ajax(aamLocal.ajaxurl, { + type: 'POST', + dataType: 'json', + data: { + action: 'aam_security', + sub_action: 'map_data', + _ajax_nonce: aamLocal.nonce + }, + success: function(response) { + var list = new Array(); + list.push(['Country', 'Failed Attempts']); + for (var i in response.list) { + list.push(response.list[i]); + } + var data = google.visualization.arrayToDataTable(list); + + var options = { + colorAxis: {colors: ['#4374e0', '#e7711c']} // orange to blue + }; + var chart = new google.visualization.GeoChart( + document.getElementById('geo_map') + ); + chart.draw(data, options); + }, + failure: function() { + + } + }); + +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/javascript/security.js b/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/javascript/security.js new file mode 100644 index 0000000..06db4fc --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/javascript/security.js @@ -0,0 +1,48 @@ +/** + * ====================================================================== + * LICENSE: This file is subject to the terms and conditions defined in * + * file 'license.txt', which is part of this source code package. * + * ====================================================================== +*/ + +function AAMSecurity() { + +} + +AAMSecurity.prototype.init = function() { + var _this = this; + + if (jQuery('#country_list').length) { + jQuery('#country_list').dataTable({ + sDom: "t", + bAutoWidth: false, + bSort: false, + aoColumnDefs: [ + { + sClass: 'center', + aTargets: [1] + } + ] + }); + } + + jQuery('.aam-icon', '.large-icons-row').each(function(){ + jQuery(this).bind('click', function(){ + _this.switchMode(jQuery(this).attr('mode')); + }); + }); + jQuery('#setting_trigger_inline').bind('click', function(event){ + event.preventDefault(); + _this.switchMode('settings'); + }); +}; + +AAMSecurity.prototype.switchMode = function(mode) { + jQuery('.mode-container').hide(); + jQuery('#' + mode + '_mode').show(); +}; + +jQuery(document).ready(function() { + var security = new AAMSecurity(); + security.init(); +}); \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/security.php b/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/security.php new file mode 100644 index 0000000..efa0ead --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/security.php @@ -0,0 +1,85 @@ + + * @copyright Copyright C 2013 Vasyl Martyniuk + * @license GNU General Public License {@link http://www.gnu.org/licenses/} + */ +class aam_View_Security extends aam_View_Abstract { + + /** + * Run the Manager + * + * @return string + * + * @access public + */ + public function run() { + return $this->loadTemplate(dirname(__FILE__) . '/view/security.phtml'); + } + + /** + * + * @return type + */ + public function processAjax() { + switch (aam_Core_Request::post('sub_action')) { + case 'map_data': + $response = $this->getMapData(); + break; + + default: + $response = json_encode(array('status' => 'failure')); + break; + } + + return $response; + } + + protected function getMapData() { + $stats = aam_Core_API::getBlogOption( + 'aam_security_login_stats', array() + ); + $list = array(); + foreach($stats as $country => $data){ + $list[] = array($country, $data['failed']); + } + return json_encode( + array('list' => $list) + ); + } + + /** + * + * @return type + */ + public function isGeoLookupOn() { + $geo_lookup = aam_Core_ConfigPress::getParam( + 'security.login.geo_lookup', 'false' + ); + + return ($geo_lookup == 'true' ? true : false); + } + + /** + * + * @return type + */ + public function isLoginLockoutOn() { + $login_lock = aam_Core_ConfigPress::getParam( + 'security.login.lockout', 'false' + ); + + return ($login_lock == 'true' ? true : false); + } + +} diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/stylesheet/flags32.css b/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/stylesheet/flags32.css new file mode 100644 index 0000000..f1e8fa1 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/stylesheet/flags32.css @@ -0,0 +1,260 @@ +.flag{ + display:block; + height:32px; + min-width:32px; + vertical-align: middle; + line-height:32px; + background:url(images/flags32.png) no-repeat 0 center; + padding-left: 36px; +} +._African_Union{background-position:0 -32px;} +._Arab_League{background-position:0 -64px;} +._ASEAN{background-position:0 -96px;} +._CARICOM{background-position:0 -128px;} +._CIS{background-position:0 -160px;} +._Commonwealth{background-position:0 -192px;} +._England{background-position:0 -224px;} +._European_Union, .eu{background-position:0 -256px;} +._Islamic_Conference{background-position:0 -288px;} +._Kosovo{background-position:0 -320px;} +._NATO{background-position:0 -352px;} +._Northern_Cyprus{background-position:0 -384px;} +._Northern_Ireland{background-position:0 -416px;} +._Olimpic_Movement{background-position:0 -448px;} +._OPEC{background-position:0 -480px;} +._Red_Cross{background-position:0 -512px;} +._Scotland{background-position:0 -544px;} +._Somaliland{background-position:0 -576px;} +._Tibet{background-position:0 -608px;} +._United_Nations{background-position:0 -640px;} +._Wales{background-position:0 -672px;} +.ad{background-position:0 -704px;} +.ae{background-position:0 -736px;} +.af{background-position:0 -768px;} +.ag{background-position:0 -800px;} +.ai{background-position:0 -832px;} +.al{background-position:0 -864px;} +.am{background-position:0 -896px;} +.ao{background-position:0 -928px;} +.aq{background-position:0 -960px;} +.ar{background-position:0 -992px;} +.as{background-position:0 -1024px;} +.at{background-position:0 -1056px;} +.au{background-position:0 -1088px;} +.aw{background-position:0 -1120px;} +.ax{background-position:0 -1152px;} +.az{background-position:0 -1184px;} +.ba{background-position:0 -1216px;} +.bb{background-position:0 -1248px;} +.bd{background-position:0 -1280px;} +.be{background-position:0 -1312px;} +.bf{background-position:0 -1344px;} +.bg{background-position:0 -1376px;} +.bh{background-position:0 -1408px;} +.bi{background-position:0 -1440px;} +.bj{background-position:0 -1472px;} +.bm{background-position:0 -1504px;} +.bn{background-position:0 -1536px;} +.bo{background-position:0 -1568px;} +.br{background-position:0 -1600px;} +.bs{background-position:0 -1632px;} +.bt{background-position:0 -1664px;} +.bw{background-position:0 -1696px;} +.by{background-position:0 -1728px;} +.bz{background-position:0 -1760px;} +.ca{background-position:0 -1792px;} +.cd{background-position:0 -1824px;} +.cf{background-position:0 -1856px;} +.cg{background-position:0 -1888px;} +.ch{background-position:0 -1920px;} +.ci{background-position:0 -1952px;} +.ck{background-position:0 -1984px;} +.cl{background-position:0 -2016px;} +.cm{background-position:0 -2048px;} +.cn{background-position:0 -2080px;} +.co{background-position:0 -2112px;} +.cr{background-position:0 -2144px;} +.cu{background-position:0 -2176px;} +.cv{background-position:0 -2208px;} +.cy{background-position:0 -2240px;} +.cz{background-position:0 -2272px;} +.de{background-position:0 -2304px;} +.dj{background-position:0 -2336px;} +.dk{background-position:0 -2368px;} +.dm{background-position:0 -2400px;} +.do{background-position:0 -2432px;} +.dz{background-position:0 -2464px;} +.ec{background-position:0 -2496px;} +.ee{background-position:0 -2528px;} +.eg{background-position:0 -2560px;} +.eh{background-position:0 -2592px;} +.er{background-position:0 -2624px;} +.es{background-position:0 -2656px;} +.et{background-position:0 -2688px;} +.fi{background-position:0 -2720px;} +.fj{background-position:0 -2752px;} +.fm{background-position:0 -2784px;} +.fo{background-position:0 -2816px;} +.fr{background-position:0 -2848px;} +.bl, .cp, .mf, .yt{background-position:0 -2848px;} +.ga{background-position:0 -2880px;} +.gb{background-position:0 -2912px;} +.sh{background-position:0 -2912px;} +.gd{background-position:0 -2944px;} +.ge{background-position:0 -2976px;} +.gg{background-position:0 -3008px;} +.gh{background-position:0 -3040px;} +.gi{background-position:0 -3072px;} +.gl{background-position:0 -3104px;} +.gm{background-position:0 -3136px;} +.gn{background-position:0 -3168px;} +.gp{background-position:0 -3200px;} +.gq{background-position:0 -3232px;} +.gr{background-position:0 -3264px;} +.gt{background-position:0 -3296px;} +.gu{background-position:0 -3328px;} +.gw{background-position:0 -3360px;} +.gy{background-position:0 -3392px;} +.hk{background-position:0 -3424px;} +.hn{background-position:0 -3456px;} +.hr{background-position:0 -3488px;} +.ht{background-position:0 -3520px;} +.hu{background-position:0 -3552px;} +.id{background-position:0 -3584px;} +.mc{background-position:0 -3584px;} +.ie{background-position:0 -3616px;} +.il{background-position:0 -3648px;} +.im{background-position:0 -3680px;} +.in{background-position:0 -3712px;} +.iq{background-position:0 -3744px;} +.ir{background-position:0 -3776px;} +.is{background-position:0 -3808px;} +.it{background-position:0 -3840px;} +.je{background-position:0 -3872px;} +.jm{background-position:0 -3904px;} +.jo{background-position:0 -3936px;} +.jp{background-position:0 -3968px;} +.ke{background-position:0 -4000px;} +.kg{background-position:0 -4032px;} +.kh{background-position:0 -4064px;} +.ki{background-position:0 -4096px;} +.km{background-position:0 -4128px;} +.kn{background-position:0 -4160px;} +.kp{background-position:0 -4192px;} +.kr{background-position:0 -4224px;} +.kw{background-position:0 -4256px;} +.ky{background-position:0 -4288px;} +.kz{background-position:0 -4320px;} +.la{background-position:0 -4352px;} +.lb{background-position:0 -4384px;} +.lc{background-position:0 -4416px;} +.li{background-position:0 -4448px;} +.lk{background-position:0 -4480px;} +.lr{background-position:0 -4512px;} +.ls{background-position:0 -4544px;} +.lt{background-position:0 -4576px;} +.lu{background-position:0 -4608px;} +.lv{background-position:0 -4640px;} +.ly{background-position:0 -4672px;} +.ma{background-position:0 -4704px;} +.md{background-position:0 -4736px;} +.me{background-position:0 -4768px;} +.mg{background-position:0 -4800px;} +.mh{background-position:0 -4832px;} +.mk{background-position:0 -4864px;} +.ml{background-position:0 -4896px;} +.mm{background-position:0 -4928px;} +.mn{background-position:0 -4960px;} +.mo{background-position:0 -4992px;} +.mq{background-position:0 -5024px;} +.mr{background-position:0 -5056px;} +.ms{background-position:0 -5088px;} +.mt{background-position:0 -5120px;} +.mu{background-position:0 -5152px;} +.mv{background-position:0 -5184px;} +.mw{background-position:0 -5216px;} +.mx{background-position:0 -5248px;} +.my{background-position:0 -5280px;} +.mz{background-position:0 -5312px;} +.na{background-position:0 -5344px;} +.nc{background-position:0 -5376px;} +.ne{background-position:0 -5408px;} +.ng{background-position:0 -5440px;} +.ni{background-position:0 -5472px;} +.nl{background-position:0 -5504px;} +.bq{background-position:0 -5504px;} +.no{background-position:0 -5536px;} +.bv, .nq, .sj{background-position:0 -5536px;} +.np{background-position:0 -5568px;} +.nr{background-position:0 -5600px;} +.nz{background-position:0 -5632px;} +.om{background-position:0 -5664px;} +.pa{background-position:0 -5696px;} +.pe{background-position:0 -5728px;} +.pf{background-position:0 -5760px;} +.pg{background-position:0 -5792px;} +.ph{background-position:0 -5824px;} +.pk{background-position:0 -5856px;} +.pl{background-position:0 -5888px;} +.pr{background-position:0 -5920px;} +.ps{background-position:0 -5952px;} +.pt{background-position:0 -5984px;} +.pw{background-position:0 -6016px;} +.py{background-position:0 -6048px;} +.qa{background-position:0 -6080px;} +.re{background-position:0 -6112px;} +.ro{background-position:0 -6144px;} +.rs{background-position:0 -6176px;} +.ru{background-position:0 -6208px;} +.rw{background-position:0 -6240px;} +.sa{background-position:0 -6272px;} +.sb{background-position:0 -6304px;} +.sc{background-position:0 -6336px;} +.sd{background-position:0 -6368px;} +.se{background-position:0 -6400px;} +.sg{background-position:0 -6432px;} +.si{background-position:0 -6464px;} +.sk{background-position:0 -6496px;} +.sl{background-position:0 -6528px;} +.sm{background-position:0 -6560px;} +.sn{background-position:0 -6592px;} +.so{background-position:0 -6624px;} +.sr{background-position:0 -6656px;} +.st{background-position:0 -6688px;} +.sv{background-position:0 -6720px;} +.sy{background-position:0 -6752px;} +.sz{background-position:0 -6784px;} +.tc{background-position:0 -6816px;} +.td{background-position:0 -6848px;} +.tg{background-position:0 -6880px;} +.th{background-position:0 -6912px;} +.tj{background-position:0 -6944px;} +.tl{background-position:0 -6976px;} +.tm{background-position:0 -7008px;} +.tn{background-position:0 -7040px;} +.to{background-position:0 -7072px;} +.tr{background-position:0 -7104px;} +.tt{background-position:0 -7136px;} +.tv{background-position:0 -7168px;} +.tw{background-position:0 -7200px;} +.tz{background-position:0 -7232px;} +.ua{background-position:0 -7264px;} +.ug{background-position:0 -7296px;} +.us{background-position:0 -7328px;} +.uy{background-position:0 -7360px;} +.uz{background-position:0 -7392px;} +.va{background-position:0 -7424px;} +.vc{background-position:0 -7456px;} +.ve{background-position:0 -7488px;} +.vg{background-position:0 -7520px;} +.vi{background-position:0 -7552px;} +.vn{background-position:0 -7584px;} +.vu{background-position:0 -7616px;} +.ws{background-position:0 -7648px;} +.ye{background-position:0 -7680px;} +.za{background-position:0 -7712px;} +.zm{background-position:0 -7744px;} +.zw{background-position:0 -7776px;} +.sx{background-position:0 -7808px;} +.cw{background-position:0 -7840px;} +.ss{background-position:0 -7872px;} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/stylesheet/images/deny.png b/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/stylesheet/images/deny.png new file mode 100644 index 0000000000000000000000000000000000000000..17bdb15243a01a0e67c9704aee99fbeac9cb8026 GIT binary patch literal 1239 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI11|(N{`J4k%k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m{l@EB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxSU1_g&``n5OwZ87 z)XdCKN5ROz&`93^h|F{iO{`4Ktc=VRpg;*|TTx1yRgjAt)Gi>;Rw<*Tq`*pFzr4I$ zuiRKKzbIYb(9+TpWQLKEE>MMTab;dfVufyAu`f(~1RD^r68eAMwS&*t9 zlvO-#2=9ZF3nBND}m`vLFhHXsTY(OatnYqyQCInmZhe+73JqDfIV%MiQ6rPIL(9V zO~LIJBb<8mfsWA!MJ-ZP!-Rn82gHOYTp$OY^i%VI>AeV;u#MIB+A%ONdV0DzhE&{2 z`t$$4J+m!?@?G7el$0Z@4&1mAA>?tCX`{7(G{Z)LkXNz-@eGgVI_&xJ=H}+}8(+51 z?mw-xfVIY9m1Ku;O6u{VFKPlluwaGq4 zv+kA+8Gkr@Eaf}4vd+l5*xIszRo0hrlk5A8gn!mKj_g_rb1xj0@h+Iaq?hpdqMy`{ z40W?^F=t~*W>MoeNj%*PzMd@6iZYSi+2`b6y7dCn#GnHHEU|Y|)AX*g=xW=okrZ2X wL7+ojaHd0@^HnLOXrm3ilM^qmW9Bem(0{Y2=*#Opm7t==)78&qol`;+0HZUY=>Px# literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/stylesheet/images/flags32.png b/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/stylesheet/images/flags32.png new file mode 100644 index 0000000000000000000000000000000000000000..66a0d151599c5c44a2fad11e6977bcd7e49e3b01 GIT binary patch literal 174758 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
        SVKI{+)Y(E{LGd{^h7?e4 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Πr@6eIvl$!T+ zBnsWjA_5{9S!=tl?@!3m5#3O2S> zEa2}7krW}4q~k3nqmHAojNn1tM&y#V+8^f-(s#JAw3uPC@T0H@P36Qyvop@`Fv=9! zELGW1kvbtC*39n6_KZIvKc0RLJd&%h)%xF(TBS_f&a_a_pJ>Y>#$Cp-4QMw*-a$4; zEf5BjXE6f*?L$m~Zq%cK*i`O6)Vkl=?t-XT`W6rn>zsaF45EC7fDKI`VA+4$auR=7 zbPdhCVw;LbzMy1@eG4Zp@RYto(WMaNDpdanF2uwx9=RUyyU(fHY&hdyoc*D=szNgG zuk;gR6}sGf?liSsyhQ!SW;-SFgHfx&QIu?I{pm4CYoXm+Mlo#Fvp=V&Cmw&<=a@g) zNP#odDyXMjhHl0w%-HKgWjd+j=bygYrbOVTnz!eRyk$wahJ76klcm)C6+ZYkE}iXxxl{%>!)ZSTgGW+m2F9eY#-^cC>d z1fo)|u-biQwmp~*I1y|!V(-)!&*assr&E-|Loa%{LsK*yUgb}}wD0Ap0uUP@-MWV~ zZC&37{CK=IB2W4@7mE2#`ByuIUZam>!a|gSj;!+Jy3vj>d{qYhIw;UMtjw7MOxk9_MbcEo|%Xl>A?r*X!8#|5ucpr9ctRg{O1#%PM> z1k%C8c6(;h;0{jx&7)|#$n|G}3jted)u65Y?mvPRV$JbC8pgLv>M@4ggS$`2bzJ+T zPy!DT=z$L|x_s6%bLqXZ9~C~N(JGD@Lgv}#p%dO@u!;HPAokX#WGZKv2hc_4S(nzI z!H7<_Rqd)yv&hy0*a?NTv)A2>36A}}GBwTo0fa7`Qh&*HJ%`=HzQmN6V16WwAkT_t zpyG~_^NUalqV{|-ZMjEVZ_8oDJP7CuY5gV7_!ub@x!E2`sg!6=s{y+9V2VgwpvL_i zQ-g56$Qh1tA)H{)=7|gbu2nEGTHH?2c}tiUCc$Mi#hCHIzl#U)`)F22bMP5!qv7$G zR$!#`^-1Ev&GJjc!Mx3koHl%56qC9{CP(FX;iOQWt95yCgJ+9gD7#3lKfkygW~s1M zur^zx_l22BRCcKvo`s_Ae17fV02dZVN%U_Ne*Gt$ZTrMOYjbU9-MLSvwem-HKh=MT z>72asKHs6;U?U>I`*$RMd{@tzDRa+ff8{lJ(^*O!t>Avzb~Bjfc1z@|PjHrMF+n$D zV>htHUb}ViCjV*6VQd7$^{k!IZsYvptd>|pl+?kzN(U6E!P523x3aw|>BU8PtAt>| zVS^WB(wkse=IM?XnBBaYr%2(hBK)Jp`f=4y#_l4cSUoxBSc^j-PDIDE>x&w(n#la} zKkEx&urm8bk4)n4199RyU*uxMg$mKX)aBZJV#0EIqZhq((tRkO|LgdRs_85@w&f>S z_ty1h9=p*hqd49fc>ezQaGoJOtv=f)trUlc5I6fRslwBf#?0b)2R^cq@9G(p?(;Eg zE?A8iL%JH5QX15ywwKQI8(gTCmCafFGQe%0D-xLXsUO9C5RCIhkIEDrj4q}Evj%*x zMi+yjKnKv%XC=q^Rk`*Su;E_n#OMydWvwd&$D6{8{bvpErk+w1@(83+ScMHSJO;6E z@fc|^bD4(Om&C(i9)Yr)FS{EZox!M|v%mviC^V%n;q%`$*zBBokh*(p_SN>jn*^9N ze7ySL0DP42u~}Jc!1}=tToDtv`B_vfOoQF02&iP*5C<0E8l`;1)2ne3(zDBgV_&;x6uA2-@c2)p23KLSojv47R}^1+dpm>`x8CFT z&+g*Vry&^|tI}8ko)8jy3ec*J+tDZk@V5ao()?(kA`&@W+konIM+2 z3lN1?t%U;>;!{y^jz5#+StA~RuR3OTkWF9OzAsW;9Hdu^t=tXX&UKb+65IKoWMrrU!#h2!Q$8DP|&|=WT!%>e&bxiHg;P-Cnr7O{J2rsO! zjHF(hq2oY$&?<5?%G1zQZNn8X(f=&_un$=zyJE$RHXpOb%Cp)6?w0slZj|As4j zT6t}WDzJ^{dcb(&`3h*oWgS2{W!e67k#(QOub@j=8tpD2bBorzJ(GtchB+NeQWl5} ztEFJas5(UB5{yfI>D<;)8@cD+)mcr*7P7_*Ur!9>{x2Lf=Qs=ivRBJ;Bm;Q>tE?5p z#e5QI7c}oUGF}nNpA%jHU;P4Bcv|V9$kb)-JX5a-bWFmlaTGItijyY_g9#YLN=~W- zD`Ec};{uR6HhfkWC939RNN7q30){WX)2dE6Ka!ovPHPA_5M|hNUCk;~#h84dpck%s zMalLeusZHvOn-<~CFh7kWXGOnwg;L@gtP6b8Ep=mIi&d|Ck1j4zyboIIi`4M2yFY4 zQh{Rk%rQ2lQ=eA3-vtIINUb^qe?OWG{y|%B zrXzSU;^6O)E)(k%F)30s(c~j)Jn0_{xZPR&ykx{JU)n3@)vt3Ug(^H-tRU`zXPGLZ z^a%Go=ddm`l!EWLi_t_X@PDIkF#c|udHvIjVZ721jj%^5K5iCBAB=Tgh#Ial{Oz5T zva|k|^Gsz{p8vyYTUn7Ry&%J*1+Rm*guwPrT`7)HaXD&l0qqmq)x1pg344E$oY9zW zh~rk{(JVr(F?WtT87hIPhSBXQwlbqv6uk?0o^-M|=s?g7Gkw1i&kRd&q>HP&VZ*=i zM6OJoU$tPyz$?&Wt$5R+2G`Ork0&;^Hcfqm7?n3*qHSC+V$bM9(~S;h9ff9 z*{{=*o-D+Pr7p?=j$BK{jGd<^T`}0TBy(Ad1%Jd^6n7K-2^mI!vX&Oih#n}EOgz)f z;0VW8giqvxoRJwMh6p&7XtqZo+Af(QS=0>W)*4L!2Yv44v;f#em%k9UIQ7ivD?mBa zewJP(XP2UM#yj=otC3>kto5+a2NCEr{ABM;JeG`LB(Fqn^ypeE&+WFff9{n23Sjpp z@<_vpRT%$S@gi`wA{MqH5V`6bikl4iJLoNRi`jf-u-j1s*BfFaknSfgnRDZ#8q)@( z1xM5lKGR~6cHeqzfEyPWj4t3MqYsw`Sf+xZyRjy3PlP248)7`jQ?)jaL0Wi;3W181 z@SUw8AIU*JFQd|7`f{J9#EFZw2-OT;a`pS=SChM9gmNWN=7e}x z|MJjNB;1+zeM00993GJ|3ugJjaa3AbwE zcZq^2fg1;VWFpj5u!IETthO8Uz{r4tg*zM|24+AR?B-yg8dlG@>}ez;1)zS&mBbN^ zgC*CpfDGTWM$5i)K9-qf6v5qhqe>v`hNX^~OerJ)U_rmn&(GULOhMutV6RAGjjhFY z4;L*26MWW6WfGyu*ZLoqbznw%zfv z8FnRlHB@YVUh|ZOUc%QgtZ~Dp|4*$szW;al@BiqtQj^UMiChUDOAhF?Caxzo_yS8s z1a)P~);`~&)gP$96xpb9o4!OAX?4w5k+V2JE068cWF$_~pFd6H{C=kRr|Y4-#>ge* z=^c!wN40HPO_Wc~w@HWQ@{!!fCp0C>MG!b6ZHqw(x}9v@teu4F8uGQ0YQqSOsTfsM zFl?GWO)`Y2!yLCm(R3d#Ppy8LTn_y9LuPVa;(9R`=a8oF;dAy)j~)%sL*Mn=f;1BT z(wY|yJi_R*g?D!cgd`X-rx{nkzN7>Hj71G(` zUh7ER?4L^-Q~U=hKjcsE<@Y8PHk9n*+NQyBmFz$&lO!_Yi=3uo^G&%=VpD=h$NfJO!cSdUWN-0L&SwOZY;;{`*1d9-TJS zr#?v%M)sV>7a&Rn>^BQLZU2dKG`=`>=^noiz}^Vh9KD9a!|`5s7?}9X-xZGUAobQS zSKtSVhs-oSTLw|mNDC$4HyV5izUK|{9Pe(Q2_kAu14{FBG5ANd_v{gc)$MSDnQ84i zP3&knq=~AZerf(}-8&=y&S*TEnPCDA`&2i7`s>e91Hb${>jg$1OE5KI|8+itwa0GS zmWvV=ZPR0%AdB{FcgH%fPcXY^MDn*0sY1#gZtIvbPqT-=%L@hY`f=hk@eDR22p~gP zhskaG<4dJ`)Snj~rOKZMFWz>#`>aAq_p70!8JXMS1(dyW{I-;0Jb2RGFx3`~E;&tR z{yxYv{m-uY@@i}HlAXZ1yPsx58U1`l?^2r|7N`{s6fVcb2~eGI7{F5t6xC!n*pm8? zOEYOgk(oyRuD#~zLD#_kxmpmx0C#0}fVNmkNoZHyy~TN|+;LRo?6dRhm3yD#+39L+ z(2dfRY%zM~L_(VI&ZBEbNCdo;(811^wh+FpZ9%L$;nZZy(SFB=sINkgFAw(5TL*s2 zT^WCVEOj{YmqP6sWjwdeepz`%NYy4>ojyYV-@(3BZ>ArE>1|#fyEjjtjj_wkT?S{` zwhki=kZCKCWUqnvGfOsTOy9rp%^~+C)4rSj&>}AjSZ4g!ijrNj% zJl%q%=CON3cO`z=7Rt}nv9)#4o~Np7&T;R|#x|W@9Tbn3{p_c`xhi1o;reM(YsoT_ zCrmk+PD)`NmW=#o?rPf&_(?;nG;tX)ak2NxO`Mn`0ZX%q!wy_ zfA3V|^wi9Rc@BB_`n}RCBsYONK<&U@b_eO#ayxGslQ?Qdc6`@EsJ{xG4n`amy6vRr z!vkMtQx4wXnEmlL>TYXg0{I4l$U!^DOsR#zeWKw@@wpYfbM9@li|qX*KP+dp;rMQ`sj- zvWh1?7cyOfQJ^9p=AuKd-^tQcLt0}-W7t5!+G*rPUt)~ZnEc_XNCY*MZIGK5Q=G++ zbrMlRMT9W*Zw(Dt#$b8uIb9>oakQJF;gTtCe)U;50!4pO(b~l=%p)8~H1)D~cuahH zF>JpBNZkT++9tdkM)7}zpWR(xpTuKZVxCkr_%ULl<03TXp!E|E{bo8nV-;8*WAHz1 zo{B%tX~%7i(G@tEUr)S%`Lz91uU8D;{BD7t2OHJEu*s3=3Z*V?GvE#@*8|GY@m{{B zzTB?D=m~&`ZzC*~21Z+AAF`c@_(wg-1r!`F5(LzI7-i&5O+|*hL>(~i;o!DWp(!6~MDPH#@U(vI`{i2KA9t^e{K^fbY6KJQE73b+ji0ch-Jql@mH%bNSYW=cBX zetiNAKYUxlY#Bw5yzk7UcYH}dRCpBFc?3CDvall4;&x<$`d}mcGn)Ge>9v4NA5bJhwYLdZ?Yq-|%q;d1?BoK7Jp8JC4KBOl^~1!57VQ}0iZbARTf>4c+&nTDnRWX#GjV&h!kICi{;`b zI{+~H%oX=j!1j{b#dgD*t&An-e#V_fSkh5V-4jwonH%_6Q%F`Ex7U`RgY2aH>iG&@ z64A$Rn&U%r>i!~?8C^rw3~b}TBcf2?>|Q2Kl_>cHCfcjScZqXOhz|E_n7+ z65&xJrZN;33havIVf)$(DdViV{d#VwFYrd;z_RRIj7$c5f?a)?PKDD<{bDOlJJQZ> zfmvX|dO5RpQa0?LvDSd`-!E|*Cz@9#FV(*k7H;mFL8JUR`?kUx{RyYty+0Yqz=im; zebZ^24^$EIVrUP`bsLm2f(X&XtKXwl3h&>^dM^f$zs&pV7?1cU@dwjLR&D^j%0l@X z$;^{}{n8w$_TMccjdXOrY3Hd}l3y?&Xj=Iq@t&*YB|$`M`jRhm-juuP&kp+LeaD!! z;<#qoV}jE1rg5Jx{zb}dwg zfUb%Q!qgH=?^enCGRxKIj=#k78FCejEjEROf*;-T&EZqIL!)KSS6qnXt@HC73GOl#nzk!TLk=EO%if*w#DxR4e&AXWt+IbAKx+WuXWRN zzkS~E61MDQ1Gf)R)HRnz#wkFQ6U$}T4lY(U`W+`Se83F9&7#nMA$8!+eo=2lt7AAA zv2$AuqAe202&v6`GOf_MwvJePLZze*sfJ_-ya$Ot=&8e3AHgKs8nlX}o^a7b`w_Lo z=sRm!Z9zmbcCG|P$tae6ydz(dtXYNz1+GRjVO#B2;_<7u;MZ?~<(=i9mkoD$F<;nz z4e-uvSQ~rQg$$OicPX;Br`j9^@#ta7_Vsp4hN5HOqu{d7y1u;#xEA?-KA-Y|H|2u#oz{vIw$ARQ)Uy zu%J(zfKb*_y9dlu(^(p*1!O(`u+BQJ@;NeaSoGRgtysIG7J2P!X0nOmaYV{8dDO1W zLn4~3-1Cxo4ansemwf=CHk6mW@9h0CyLzRaLYi4$y}=bPo-f{K^XAPgsxPXMAo`bO z95obd;qgG;0591PO9A+xVCy4XlqRB`(odA7N<3 zA`4&=;owoJ=P_J1rx0S(?^1r~jP#)HB+;ao({4u7MmdJxYQ_`7wN@Q{bi%$6Rcq?^ z!U1`lQ`W7_$R!J^?)TA&OQB&J<;2DvCK)cv{LB+GyK;r3KAi-PEX~(O6N)%$+F-@ap|A~@Uo{efGh7i(Md8jf;fJ|AQu=% zQL2SR{qKaJ<6=N*k~a zLiWI2q^9p~NR1SlM5Q-RFyQ`iSC^XS^n&B*U*!1i=8|5(Lr$+VlRj|#_9e&}jg310 ze&8pvzWtPq;{5&4(iU2VEo@UKds(G12k%3+D?Ad4G{*=RDuUjn_3W{y$IE@R{I7j1 z5Xs&&OXWDf)vYx`J=(x7kdr;DZicZRyt;Uc!Y~XDo@J z$Ea*?E1MX^j9qs9V?q_h)rVR~rR!;1b?J-?0VD8xaReh!dZEYv(nlGVK_je5mx=q9 z?VptO!5d5Qh#jdOVi7$C3~cc%(OqA}UAf-#)<3D5`+$uI6B^$TcmBYk>(Ti1!-Vu7 zF>;PkLJWQ@_aBfe!NPC(>s*ChbPc&hsVgleQ3&X!4O>wg<)iv>-yrbCK11ri&Nn(H zFzAjo$H3k`2=F-~(5|R9xNqJ_lRu$8zA%Oc2GYTJ5UZNI+&(INHCp^tgc;ayKIe zc}oW7{@s2b69Pbt?7%}XQn#;7O zw*5#IaT~~fsD;lc0Pe1N{=ME|M_!;JX|Rfr9*`m4cg63KG;@j&D%@#X^beLQYtZ4` zPC&v^RPXk-tw=X!co>>$l>Cw*K5(T!{rA&kbIdD3FR z^Ov3U?El_-$lX~&v3(YSa@=Y|2ui4wTp!t0OHy*3@GW;}ohtX{1(~FK6A1tVFc9cr zG;ds>uHp5X@ectI^m`sTITsU`74Q8Hk&S^8_^eCiv&Wt2GLw}hPIztGT6;f>u{ zce!%D5QJPEER9l5>dwRMFNMHQbxhcmt)ih1lr`zLR4?c{_W|dAhtmZ--E4mIIP_=@ ze&0UyqMV^dj&HyE;(KNd*1DefuDu@SC2~%>Ig9|&RPa!i(8{UhHY*57c=1_BJe-Lo zc~tSwi7nhkLTkBVOqEPrvms_sJ1e?t0` zFleh}YxJZpx5O5Z z>+#oqUbpyvjU=$j)Pudbj=&g3nIUo8c6|I#^MC;;nX@MzC-0w-bOPP`O9~S?;Sv2r zeus+va7g=Rfb$!X8i?!$fj3v}Xm?JFnZ8lY`9*HJ5<3H}CK+aygUmNmxWB_zcv-8L z>TK+|klbtZF%3BCfnduz35o7gsFLVGivweBK^rn=Tstt2?UXh+=N^g#TQ^@tMsDd?D#>0fF}soDktVZA^howo7$h2yNYVPbtuL;e^!wa-yM) zrBnqO{xbfVbbkA)@{wBz+4t9P7)`{fc-uQC{M>t`n7*3r4Rd~H4eTEqr^Z7sQC!W~k&C7`JAJRu4r1ec@KAF9BN7&TU(JyuV zGTzfmQWE!vfc>+7;h3PO#XHeX9jl|osYslxcZgKWN2V6nJxmNwx-L_U@|xy%!B%Y? z978*Ruh{@{N(D@@&3{`vuyDW-d8J&0%k)cLJnS%_|6lU&MzM99KKBk5pr3Fd(XOZo z93i}=^)VLwe)kN4+!>_V%=K`ZQh4}BxofBX^}yeG6|-c@(wsRRM5uw&jI&{8ein2L zfwSn1i(ncjV2j_XK&}Dnfrxq2M<3wuXT4gH&)d1`aKo8dY<4J_aM%0t!K6biV>msh z{(_Tdrhzg?FksAS(=R5A5t*8#1XJQotw^0h8O3P)DXV(xP#@oa0gumJU zDNw3>gx;zdg%|kPHcQ_0hM=N0z!+Q5zWP4&N(a~1CJ_{63*EH`a(jITTxc^1TK^7P z*bupQ>*GLlS-q-;1xxOC5DPs0jJ5W@H9H46kdx~#$<5p{z;G{A)D$zG>g_aBmX!GI zTb)!(4D%Y$vB>zjtJx@anOmlYazXJ=Qx z-CGmJ>JO1yTkSEzZ?EiSv>_bfK(hqVBnLGup^>`j}ZyUlVP8| z?@tIgf8ot{(MaCjgG-%cl34tKvv0iz}u9dy;!KhrKK<01azlM za`FUE4LM9U;bPM?fY5yQu_UXjzrzpJ)^%C?KoZ!k+2KHIV?zqPEo8J?lg03ST*0{v zX77l|4;=X6#_rNUukF5W&x6E<5DT-npEppkrOg8$DBrf1B6Oe~>$K;tvc*Le5m%`j zB1*VS4uaG(Jcq{o9&S0GabYR`F3PY)HcUtn1kn+1PrQjY)HkrjJD?96pl{c`9{1Dj zoftFKoFYLL^Hd#I%_mRm!)vo`XW^bs)!QdQ%ePKJe}^AB-xy$l`#Ss%o&aXDowZtj8Ygf)E@p+W za)6+TIyKsrFc5SAo;ItwnXEj!T{M>3M^eNq@8@tF8Ouo5AAs}eBNRXPf^S+UclJS%|j=M>7BrpuSDb@ip;=3I+wLOvB5!}OJ*zIe^GO{~j07W@jxL_7xzs8S-*Gct9Bl1H3 z=#EMT?DYM*q0RTpB0t}h9Y^d@Ti?|PW#eglO(9ve7wXkc;iSUd>ih>530gVGgSGxV zZ=kBDC-t5!hc%01Ec%2T+wQ}g%nT3i=gT2wX#Dx_RF}3LSGLYqx^dA5##Q%|pr_}B zx1q#NPx1s)!xT=~w+-cD%8N@f`=y)j=kLR7-6Pc4xOR^pDcXRR|L(&3;bO75Hr4CJ zodXkWntZEQ`wtxKgYvA@0RrKamy23pvA5S@)&_=``1(7)B;eiZ!! zn|OXhdG{H%&nPyw;r-k=*Zf>>o-Qn9e3DC$F`G-(NV{C$F?iBI<{@w zwrzH7d)Iw`?|z?WkA3u=!MShea}*ERoh{-zm%tNFe4hxgPApEG2D&(=n3&^rOwhwIwdvX0LeC8O>jw@#q+oe zqlFh0FpzST3p@Yi&oA!7omcZ&6B2~&oQJLN!6i004Ri=V=8v+d#!mfDW(~&Xr)@nT z5qWLIJjdA-gFN?oH$FQn!I>9d?-r~ZoahN277m6%`!jSNLinJ{mMsYZj)PYpyarrE zN9T@+`kxPgu2-L=CM{p?Y)t)lqOh*j^UeOQ@n6(x$&1OslHAT$V5Qt{(E2N`=x_iYu{k1bNw( z{l`D}Av3Cp+44)YhtcJ7YK{E9gvXq9%iy5HNvDi+Ks#8%h-?fbnCMGD4yO)1P7bux z9ee}~(pM#octW*7cgkD=R7%O!CUHW@z=)TtP3g=dU#xw?FwCtwZk}EIeC1GHy}>nkg%L)hB^B=UWZJpP<2nG>g2>WVo=cGRYgi`+2e&vQvvB z7+t0*=$WQ=9T?10DY;}dnfJE={-NBAX1hK@*8~-wcI^!>UOiP_4xtu8ECe$|pZUa! zLSu}U=}rd|LA_GF6mAxF7S8^84F2_j$t_))Ba&s?|26b?@MY>B^IsBdA^bbTZs2)# zdI6geiwyGU{X{quQq^!o(^8~53op(Y z{en%(@&86qh}H=BEEU9fu+`4t_`o9uqTG2o7w<*9a9^!^d-?zlKxV`1RZr3CwIc)_ zIOZH$*M(EBbP8HOg2Ah&Zi!RUp}<^i7Tj!q{8W4#`FHoEi!6%X->GSz?BL5NR7$Eo z_Jb|1p_&8t2yhTei{wt`sin7G^%SNb?uqMN21b`*n4N)5)&?)Sn#OkT5cwibza>5w z`Yi7xG6}bNjsJX<(f42X`aS8#>LvMF5}6=?ba;7hpHbuK#>hqbR{@;73vKm!f;$(z zNOHGW@rNudZjMeWL%=%(1X04I(0Ji(8$^BnEf28*E+dq22FbGF?DKi&vtj=G-mGo= z(>wS*f+L7l=zoN6Ozd5p`;fs;uqE~PX8&KaYZO(*0}gk=Z}a=#J+h$X8SMq#_=PN82osYC2l_@geQ><-4Xq1e=QtpHKg4&ic+kJ5sN)xgr zRPW$v{%6tFk@4I>{3JkjJ2zL?(@c|=p+rn@*ndLohYLGZCPITtiyl0?-|1* z0d@Os2b^J*pYdOW5lQ>N=VtAz)o)I~((QN{01}Or)~aK4QPo8)vTNu=@#v*)p8(lc z_*r>%YsGf%&0IC?We>yXI^!M@0$kb8iMH6g<11}~2^wS@d8MpfdQwFe#?A9+1<}4)+lO)cE8N-Xt^@kud?!$)5+;um?o6G(2 zS?B^Y;Rk@kdRN><)(Mpu(Z8_D`wwX12`1h3GSqCLo3n?vC3aZr+Fg4l>z(=v`x(a_ z7>tf^M1#(BQa#R5oqLZ24{?UAYxGEFqd&>#@>RDU)#euKq5VF?lt=Z7Z#vd}R>|$$ zk<0|#UV3GeX)K$c;g|K@4y1FM!6;RFCnR)wCc^M>*#Akh=j68N;`s_l2ATAmf3Zq4160z@9 zHrM+RdwK`0@LkPj-#Fcrll-tEQT@2jXAIb`OJ2fV4+;tEy@tRg-HT-hY|kuNd6(vQ zujMTXvr1chyu=9byEh!E*mPLO3Z+`!*xXpRtob1|`-|s#@&`(>h=K9ke{{HTqv_Xe*7X#T+i#6OA20NDVRb zCp4C8Lz(#majxsVwNX1aaAT2}T-g#uR<-IbPqq$sY|FubVMpD_u@9`H zbEhCn-;;Qw#XEeD2h~3fLju~A1vTfnOvI8!8-jy?r-UMo0A7AA7f z?#K7tHsXY^LlX)R603JHgGpL=dLeE<3nhTK@V9y6MacK*z}g%`H;5l`*FtLv)2@!m zHpB*`o^|%ocvzK4{&U4rVGo+ukL_gAp16%{kZ*i8g0B^Zt**Z!$2P<>BW*iSDMG+& zI9IuxT+eaQMM#i0PsQ$>x;dI?9jVcLO^v7e5sik)(7x0AQ04&}Ao_3`*aNF+A;tn0 zb}qxUmlnJV-?UfPyh9g97yD9c8=Bs~R=jDu)BbI(guz14tFc<68!_sv%y@u{)Bc+C zHp*y796@Km2&1>wXjNKT+Do0)&_F~+C>J|+KNT=n#EB0S;c?+(Eus{{hM?#6z@F-4 z4SYX0q#0CI#vGbD-Te!XNF0#z$>ynCgmIX;8np(3$=8r^5>L(T z&C2k7974MwAGC9RZ+B9q`+UwY1TU_-cH3z2Sng~KdYClYd9M+O0L44!`xZGY&!uke zvjTb?GJ&ktc=B6}8JU(J{|I6KGam}shSWHnR6STjm@xvouQEWH$E)haz;EdPd|bKL zST#*?bHbk%ggJ0V^zc{TYxVhpDmFr;Tkt!)IV6!}Jg^z67n&pPwTiRF3 z2gSk$TXie>=7^wjLVOa{`lat1SKvJL=h_RL{`O;gMBAkfBkkLrSO8ep>9bJ0^^a6j z&WqJr$i-TMm!&;~@U#N>=JPR8HJ`jk^3?Fri;J#mYUKED zav$ho=3)UHKgcJ+14PeftEL-o>#y3y1f=!)OG^YUG``MFeq&PsjasBi6754LxQ9v3 zH1u-o6CQymcmg zX>E@&tb6TVE9!9iwsWhncKJi?t7hq(9`FsHgme z>&!omo$neAaLF64F^1&0;scTD7)9OcUbEkP?Mc^G*c7V+B&o6ZN1`*_C>0g%f9vwP z%g~(2tT_1TGq*X9a_+1ae{`26>ob8-q+5alX5a-!Cnu>&us6D`|FK0hgGDZ_U!^;* z1LPXPBeCRxuNhVHx|oOUELhAHCGO0c-}_;WW(~%o=)GTFOuVLH!n+?Upc} ztJ#J(|9dAo*Ygn+HIIlN;zm){%65&0wjFxCp_9uWM%c;??br=qB{Gc zOF3W^T#A%=nN>WmRAue%6g6E>$YqV(_!r3zE491sv@F%@$xC$L+6kuIOD+^Wy$wxn zzuTy>KZGOH^q-viNl(%k@kJc@gv@kwB}HbvQ)_-WoF7$bl?rVClq6OzMq#I=B?I)U z?Ke66e$bbFY>HD^JgS?E4@%bLg%Ja3w7pPJm*XAXCg(+Fi|l4-u!eVU@cK9dP%yZN z+FSCFA)FJ;eM_~`SH?}ya>+(Dqs4}tMoJ1GojaaiUpFpm*ZQDs1(r+6IR-8C&H9CN zcVzYj+84iAuK2d?m}vYXjbT~t>m0S^O=t)yXxlst&`;g*+FaVN^RwSqRRkhBq66R180B>Nn9};fGr| zsE%E*!0>{X0I4BPCFd)odq#@1wvolfJXBbWF@{+RPybiu&xL1<3C=U(#U{0k`2QAf zhYzvS*UVDmJiPiC)mrR-gJ@<0|M;`dHIAkj;B2*%E-o(6ZV+C^zM_mXz@ejt-6Gsv zf|8=eLr$dkNPTY*cta`p$F6I#+u~ygFP+h#tWVqzT!QE!;a{{Q${o!A5EA#}Q5a?7 zh+8R<{CxgR^tj@ihQ*2v_V3dFIz-QHhPFo9RqNpA=HdF5AoNVRre~c6`2^aw3a-WF z%M~lx8RdHsEv&6o$*DQ^&K8t}8Q>w(g;4~(fnqW7i;bjwp)UbCwBvUdmk>lLDMnts zFB0z%m{9r&;#`t=$wDL@rr1yVZapKV7ZmkkAkSL5qgQVTBui#|zhN#)q+W^!Dx%be z91o$w2vl;L-7nNjVc6N7mhQFxZRX;gn;lK1%YXy_3)WacZy3t{WQXB5dTpK8jv{DQ5Wdes(g3}%^C2$1X-1@2L6$zgg&eQZ8Z zDYbM_905Ni9~r8CzwQi?@U$*F_uJ+0<{ye)?BFD2c)(q9KQbcr_1*K~Z!w%6JiMQ| zNnj$LL7;`tT-8Kx+ib{AHFSYoK12mO!k0w#;U~sjeoa?x%jR20znJ@SM@#9V5Jd7x z{rNo9s-5^Mh~DRYkmE-WA0n6R*MhQg0{WQ^-cgHjV1#Bx_2GT(zW}L68RWU}^x;I9 zLu;*|^y#=kr6S1Q9VayH%P*)@WiY}K=hlpYqT>>F8-Y`Ib*HcRjHNFvLSm(#hlh`w zQ#LBVz=w6~QiFy&aV0}dD2Ze7JVQ2VxPs<_gQE4?9rOCdABGD@cBM^btO^N&ms74A zZ@Yn0H}e;566y;$L0sQ?9es)6#7un~&gHJtly!e=POW~BXA!>vAO-88K~tlTmTPWn z&jZ+}SvoDx+$CSp=)F!X2@mZz;{{b$$HR&rG=$)8T>qbaZ5{gr!AIU4H?RNPdD@rdH?vA02mf zLLs^Tsx2gMAnl-$pnfk3=NX%C3f~3s2yDBVjHl@N1=>6w3WiOkSC}^_iW@*Y(_$%D z&~ZlbLK)5AIms+PBU2{y?ss-1Tg+_e07gfwu~F6K-E%~V&&|OOi_waD6;;!z{~-cB zI<$O>rxIrQv1PlxFw8@r`)H%>jM3{POg+TdXggGxyVW$#<7(+;qkiOhB+&U1WbSu^ z;0O4M2k9>q-RGP8<_G$z=Lz8tHDiH7k(AqzaR*>t>4E$ofKKn8AF=?l7s$MlMQ$cS zL=YnmBG1_I&3A@S;0J#;t7F2inw%Vwyle}6Wx|`hqW`?v_iqurZ~w?D#sl9yHVKW7 zx-KfXSnV#_Z;`?1pEf8)fl+WhqmS>jS-Ss1oIRgAHN(L;UoBB&K4JcvPS${k&fcEH z@?SZwjvD8V7-#AzSE+Ky{H-DNfMwx}@5pCAo3OnaIo-GwwiuPe@h*}@ZV)`NDJT^? zbc36H40(>A!A#aY)Lukv`vI}?{X{m+wdFKO^hvi=^GNB0g{SdsEOnXhC;gGkPf zQ z(}M#!T;7VZ@5jENs!1@z4m|aknb_WJ_HkbN5*g~F?aOiQsX{oUFd=rvK%Ent6CNW> zc};g@&poS>-vD7Q6KL0}M(odfak%3K$MTP@GW;(m4*s4LnI^z^lZTHRKQH)kdUz)e zXl8+DOk|O2+E3~bD=b-#)NJ6u1kR@^cr+0mp3m-Ti+$7e4Ha6!Rp>xw7|7b82=0j{ zoQx5*9bi#k#n5^WnX;ZPSR4+PEfFnI`Q+7@` z3b_R&xKMXzo#1kCTId?71~>{gTSF>yj=Q06N4~*9yt<(O(rmJ((3*JY={1TupRlt1c`tM@9g>2<@NM5txL$S`b_Gxo zSRY=;9}LfRV?Swj$rVwo%AIXA+}R`0ZZ{}Eg(kkw@jP6Q^? zTJ#2JD5K$J&ydZ#MpzBX;}Q=P_+J}-1WNm5q3qbVjgJM8%BOMnTHFHl>%+(Fi%L2t zP)paOUds=Jd?N;h^rthNgC>_FoL7kv2v=5B?%FRs#z8MkTHycD{w_G}r?jgu;E8S? zK|EXm`TcaCbi9bS$Y8amh_IjXqo5odiAC^BfMLUoEj-K>EJVriM6;2-AwxAMHN7Ae zP><8Aw|0u_3w;mRhYu0utUAgXU6k<)=b`Aj1I(5M@(MQQNB2=hFA)wVkl4IH%Wwae z0PSlXNFSoc^)($FCkokw&NCIw=(>NU$Yr{Lg+XW-wFDZWE)?R?0JDps#hQ?BU?&)G zf+6z=hCxZHbezqg8BKp5DtRzp} z1)t5ebNIRW^YU%Q3N+H7)7NPicV@5x5fEUzn%;+_B3kl8;k*i!mmUGsNsgI`cw|=x zqU*4xwce>$IyJwWhuKw~2!qzaFFZKVKp)@Zbwjo?8`1rLylEgxaQq?;`nI6{D?c{p zviCFhK%`l;u%?6Kr`A z%o*GWuF1m1FMX;YYCDB1Be0s!O8C-SI`QbXXPy_@cQgga7pG%jshEp5S;b_W)M7f$ z=;dSUO;DKOUiUnN`}EtG)8F6dJ%w$z^e5I`Z&){DyEp@=c6;$N+Fg5mBTV*2`KO5) z*3ep(u+OLLuH!sx@nMm)y4tapTxM2iNAIVjgsUB}N6@2*7S4a!5}&RFZjASwUERN? zG<6UZ=(!mBIgbt9k>$3gX6kDFe5?ZgJYU=NV*}EIdU!|(i3%Y9!B!)-`uu#%Zfz6v zwJAJuW)?;NV}2>(bRWPRmq$6TvfQ4?j6v~>`%__{OTa;%PBS$&8^dAELFwR)F}sG~ zWb2Xt&C#Hueas06)XOtS>kN2UV!$~$fN!>OBYk8r6OkC;$=Vzmve67qyFf9mN4(i! zwNKU+IY&0~VUMf@1lhFfe}A>0+q^mR-fV15qPTfMmPW^CrcRhext}#=?rck* zyWxhAtYKpaqmsWLQEUNYBL^smIFPBR2$i8ppPc8K=&}Kj3KlXpk4L+&ozNp{rz9#T zc>f2m{V$kN@bQ#~;`0SYrH}4AKNt*&^WYEQr_=irn1;>doI@1ZTVx4CIA{@ zD>~=I>S8KITDLIe@R9=k2j?3dd(~M}vKUOkSIQJT{lJoNf@yBR(KyIANkoJil%3ZR zn#9p~^EjlK?qo}+c~Tl8!yzGHYWw<=5Sw6aaOE#z>EXeRGE5L?k8G+u3!(9dRcivH zte3=Ca6#s$M_AXIn#}!(zi4c(-X`$VVLHkj2p`ZF-^!M(lHSc0^6t-G;)*PO5xA<21w6<0cI_T=nN|;$?=ZCFRa`3Ny+@ zZv!2!8LDy{&RxGQ@~0MEk{)IFn>ppw!>$rOvt#^ufp%c{piD`ZW7IMZ!`r)yp3M8PpXP_@nk!MgpcpyN5Iqh7KDDEIR; z3x-(F9@OE&qs)@^*~g^@oK1gD)lRQrA4hk4yMp$7O}n*)jLgI9{lkAIVw4DSuCf3vQykaYMacZSyU}-P7n4CycBm8Ni!L@E(sf&$)haHYv>-^lCq;i z%Y7Tlkti5`;fKB4z%*AXYycO-C-a-(i+b&>!^w!L)bAe=L7;r=QUU5|fr*0h%WRGX z9w|y?^9=thO722lzHAC-4E~tYMEd^pjy-uYM-iZyIF+mf%YJroF$5bw>*|}&aTvIE zL-yVKmnSL7WvJj2^q(m#J2b~nmf}w8s6+7+Y>5Ip-q2GS*7v-Uz4BsLA?vJ=33OCjmyf}`T04`yIc3fUjFY|Xy?x;qOP$q8WIR?TNzG8)Kws%V4as$kjDghqUhx__v?pEYmMKp1 z=V*;jRk{&#=2aI7HmvcI!r~6)xVvlAN~~jV`^n1*DYb7ih!A&{AE-zYTzr51+|{m~(A3whzcN zpVK^#xj;9)@s&sFBT*cx05m*{5cbY94}m5;fi^2o+lk~t#;)L~iLPFkhg~C$qxA=I zh$bg#V;n>l(ZYN9(xOb?gk)OS{K%WukOJfH5uBr!V$dr!O@NZY z{t#`{I|ZIolK8u6@2FNT8-V+{p?YF89i!wtzEJK1D%7_=DYTyxxuw_5Ok9lFo%-rc z(P(-4n>>J)oeWx9#4`8sKWIouNTwAONMt{Md`&J?k3dT)BTU_nX-aLO%w~@XBjy@|ekD9HRh=*`BDA>usxmWHyt%7_^3M~uNReDH;V zC&_Sdv!hv{!#xB{dG@w#YxXr*AmXPi?HR;Yur$mDHtxYQ7vc27)LKa*_=KuX=&()8 zSR;F@w>?{FMWor%JM|kfkBh-X1`oTB(9h6G=e4b)_M6e^U)hJP zx`tctawnT^xPlfmEeSMcpW`OBgzh2P4NiA-K9}hG_Kf|~#jUNs{%Eu1U<#UGkJ?oi z$_Rr(j<;{OMFIiVJzg~~e-c&4gnIBvg@QaDWa zXLF&y)pdhTp(u>m zueT7R(2RcM78ar$#83`6ukqNiG=4i9f@C0^Bxm*9-7_S77tKlea#Q;H%%PZ>|67GF z%l#C>`Rz6?xl-UrDAzG;M))lw7FKmVLVt9YDQ1a6`X#Kx3I5}@w!qRRLh%6R2!8XY zgc_Ct66j2P@zWih{PTX1%rY}IcNIyfiUNlnRUMg7Zo>vN!NY>58LjNsxIXiDg+01J?sX-+wHHG zcSm_@>7wjx91Obh)Bkc*(LA?H9(6XKp9GcLITv#CRuMN8xU+aXeXhX2t37Xedi9Co zj_e?b|ABNy2%kVAZ!@RUvVe>14(*10umY{4ycLWE!7DRkLM3Wojz!Xqi<<4TMztN2 zKSFTzF9eg*Q>PekhKW$UP&~t)A-!~SL0mi#n+_tdks$sQs}yswkT2>yD9;&Sks$cf zAtEWw@T`)lo3$5xw5B0~pgE9R1Ny_q*|OdcTP2LSa%Lghp0NSjcz~7S67{U4K}`{R z?|_O)qb%~x6?dbS&U*052n|$5<3G#WvXNfOSY)<~fblR#p2-kGfTm}~%t;9g+wnsU zjb(XO?`FOnih*Ou_Up5iK#92HAO^YMA4r8)T51$otJeDYu(Kw4vPj>=1tN1Zy?~zZB3vs%!>od3vhNQj)ofBQUsv^Yk^e=Za7<& zHP-YPL6T`%h=jn^Cih`k|EKR?UUAVA?wLFTe_f)bRgG*W0Dg=98m#<5J7?N#E27~r zzo_H>m7GDQ!PQmP&%|WlxI$+8^hg_3!XVt^s72uUAR$MaXi$fUsV@RM%fxh|YXCh)X1QA1`-q1XB zd;1Zm1{S`I_#FOMkb@QnU=i^xwAlA#>18>(@M;l(8;Fy)gHGS#VVI3kQpd+A45#v_ z0AX$_jfslj3DIW+oU_zXx1~MBBAmD=L9j!YEGH)Z4v9!X=?vhS_J|W*u<$Hb4?79h zs&yG)EXC;P3f-|{FLsLy|3z`#^v&qgEQk5qG>+6)1YXo>b)Lxk+i1Os9*SzKMFaa0 z4QWh0$*h1lBFsWT`ScGWRAExYz%J43S@H&(YsS(awW`@He)AB;ZvJvF#^HLpoa3|t z-7&F_PNWuCghQ)=L$ziX`gilPf~Jv}u0Phb>}caZ1;s4Z?sp(-A&ta2i)&rdeniEy zdM=Ch=e(-IKj>uk$MUOe`(m0L)H;|V zy;p~RXI&%=PPUm@Bqe~S=qqqQRWo8)aJ*zg1@zHMDm!6~#gZOHCDeQyr2!Y~zn&e)btZS^ zgI@)j`Nx=2nf2)n4jJMoYDMU^J4}N`j(YowR6tL?E$+m`(V5GJ&0LoUHaHSS4*hgr zYrI|8W-sbuSrH$h)14{1RMS53xi|%#_|OuKMli7r`EP&ld`!zSb7chi3q-%>3-_IV z_M_F&A?|hZk~ulTsk@e|CO?O35?}gs33R(Db(a!0Dp|M_WaT|rnhcf;5A)-rIt~_d zb!DjasogFZ=BSx(LFkqdZ!u7N4zO|;g%U7u*_p$pITt(~W&nG&-<^gnp)etTJ`xF> zB#E3-isgIt;?c=9VG$x7%2DXxk(#QuZ>bGbnqcr`s^WVc+uzOO;y`6jFl|A5A@8>w z2zELMp>&84&@5Ht{r>qSgYgPGQ^Mc_o^`5znGlD!-i=N$*BzfO`&TI?cjEUGUkE6s zzP;hVs%f<)(G3XnG3%mdUKy|1+$GZ@YPy;TAK$uIy(cMvSJz`W9h{!s&)iNj{nWfz zSo|fCWT_p>5rrZX$6F2lG@bg(aD~w`;>RDc$ zr_iCD_$jVz{YOTsZS#YPHuz9(?vc(xQKDZrRxe6;2&EBZQwzHrLSb^KX3&3NB@GId z+ns0{e(;371ockqnbwaMIpTba53w{rwn@|{&ZEgKM>%i&xk%K~Z$v^!-1haU?Ieb8 zgfYh2He}**pxoK6<4@g)w%PQasK$2B691RMab{{xfVc_fOa zC6%YyW!hJZ47vah*yPa4-b3lSrmN=<)o%nK@YFrRtneZOoM&~cy0_h0sC0=PjURd$;&qL~DKNxrwQ3OJ}_6Y*wVUM~fF4Erq4 z0mzoo!IWv0GWh$jQc%ht*u_jRgvq*S%;h=r;prvHhv-N$Gs*x>DF%bT`I(5lGN=7h z*emLIqGSF3N$A4U^E-mElU_gM!@ffM;{-z@X6C8qI|Mjw(@H^3*$6ZJeZZf`6je$PH!FC@49P~;{D~GG3@QX{c$L& z!{h3BMvV4|v&Gt=aEwBHbHtIM;Cs?f8;3B^F* zv(Yfyp<+{-07~A751>{TAYqZ=C}aNx`oEIG|9GQ$f_ZNInzUH9J3OpEmZ5m#L_p^H z9jgJ{a1cRN#lGzzoAF%yBj-HmwYWRlwG>LoCqXLP;3!s z1)h0W*;Mp-$a;?D58&DGn|5LSNzD!Rr;1{k@HxI_zJd<$=evKm@Esu?QK!wO!;wv% z4ZUBq2W9@$( zWcJ8Z(g_vznS zLePrwxg3{afro9o@L6f}naNH((j?$O?eOVJ2iMa$CNRtayy47F;V<)jq>WE!;~2Df ze>UuF{ij0}XdHsV>#&88?pZU!Cg9HUD9{p#RCShb=8j%6Ckq87!;-3IH_41OA!X-Y zF;O4LvLfI_NV9m3TL)?J_;9xesjF#qRUpiQ-*gYI<8pJ&JFA9nEPiR@&%1Gd1v7Fy zB5NQ{*w^Pl=JN5Zd!&dR_$>fZCBo}lkk_c@`ybh20o0*{KQBT5SJ5@^4emxG@wKF< zne@5;e@d+#N9BJ~YM_lP!Y-ENj|aOdqBuyqxo(=#*7FHH$NR62&UvUfg`qd^5JO6T zg=)({;m~@aR0t}J6|_HbJ=geis8BOEe*ZVEDb7hOgC4pVP2Is=?_gO^yQgaArtKg{ zkcnn&!6AXT;x-AR*>TL7_32Kp8It4HHACik@xkRO!JS3;Or1q$dr(vfxi`$o36w7q zb3w@l&GWq3d$kVe_SkJ7E@@4g84&S+LSswk7J3I`9xW#!^o88)I9S>he4cx+kF_VY zbI<#0o5SKnAQ6ZK9U&pcZnb3W@WI9we>OG8s=@45y^oZvw59eERp0yse#S zM4&1C-e86g2m~)e4;vIpMI1My^?Ca0`cQ)8`TP^R&ftTanE{JOZ!t^su~p~q;(VSe zzt|8iY@J(!_+R3zh&5n21EzQV;6ZF<3ZoObcby+P3dD9T8-eYnc&}W!Mevxg-P@rr zN0kDEW>T;9Zl{Y*PqyLVIHWFNy{#VXHe2lFXEY*x_=R|yGe2(>{4WhGDnEMemjPHM-Gy-2;_NwE&?_k~6@inN@ zPpBU{PQOISvHQNT+|1hCZ9!}7{PQ{$qZy1uS$E&Gm*qW^j+m5xpyB zFZ)%2_Dg*x%Of)y39=qpyomZGYxuHt--~bi35f4Vt+@Fj_7B64ld$L4tr_1_)jHp0 zb?%g@40t~Ci`egBb2!q(k58w47pYB??rWEe(w$au4byt*QY8PRMgAeWw9bB%%*HT& z$W~5X6ws0|-`oS+qe{3kIwAM>smd_vs$&6Orw}|MmP*}+Xn`VLA*lANy8)IugX@Bp z^Dad&jIyKJW+NqUmZv+=2+_2HJdK|blBFsn6t*n7#)Dq zY%hv%orqxcFam~7_9!9ew`7ehp}dtfChqiZ1SPZ#6f!4oo(5i6X<^&(97RqeS-v1f zwWhpqY>vjHj`Bw@(d@7vIT(!;cI`J!)|pmjhR=TFM%iwK1(;i^c{o0P*%A$!{(I2P zdCRR8k^{{Le=3q;)Pjgv!lu6bs!2D}%l$8ebvqEwfwwblO2l%PG0R#*=QR0mEKcwXwKDhiuM9{H>}RV!^T3s@w?C#WL`{f(R5C*e`N zC*21cCraAJ_zKZrk^>Z_-;ZQ@9192tJ-xB3&W^~9gI4o3j&oBc8KK(N>O2oxfh-p0 zY^TnSD9Mh4|B+&!*2b4IA-Lf>zE{>Wk`=KKwZ(?VpO*GZjByi63XY zD{at}0#NS$3#a@!_6!Y{5VP%W+KogW1*YBz*+}!t4P11{3lo311$=c9 z(>v1E!z#!QTo*6-J;8zyeDGaGt_Y|)eSvJ>BzD-osmW-g)sNdlh7I!tMM74)82wT|3 z{WJ@q;Y<9i?f+FBT zp!ChJ)1!IIH}up`%G+1jI%_fC0NTqhRmoC_0EejyjCf;Bdzw<>(OLE8f5TzqSpO78 zmvPHD?7y&rlDQ?dlkN9Tm*1X=g{!Zk{>dNx>)A(tSTLXD|J`qx-T<;H{l~e_Yb?`Q zsh{$?#9dbOVOz=LLeT$(STQ(x8|YA7iG z&OKa}dk}>CVq;1m{z!@V>Fif~_S-ptfOU>?UhQ&=oL_0TD~63O~xN6-%+ z1VO{qBX-~BX`{x-mcfIHB1kdzP&37K50ZrtjF{1j1c-Us#Gxq1UsiVoaiCfwv@h+` z04U7w7|=ob-+loRq{}~i2&ragznx=SZH+N@>E%M9j@kmAXWEG2z#MjK&l0|=WT93d zoV-6XWiw5LT7XvsGjPxZ5MPCZkSEe}sUR=Z9EIai0%@te47B24pun z8#uy5tfn#-hEW2+_=*PsB?;m1j!B@l`jY>~6>4!ygT#L^$pb6Q`;09X%-H%wIi+K7A&z0@|j|B#}_SkqiGCK$qiYxK~-)8-t zvZGw3pZ4C*_XvX)iHuS$2eCR^^DCPYEHY3Q zKL#H_rjMlgD@ndX1eNGAa&EFA`}WQ(G9=sL$#(%zbi4F+E9$*{2|+F|UmQqoZkYNn zy{kXs{sMsSe!NO}dLbiD*%BSV(Lf?`!)^Dty3mY}v}7U3tjnPg=`j%*4JScgqNiV; z0DTQuv0&R_eYF4-Q?BRZPwp_3_HPhywQxjm9iCai3wCNxV9SG-MP*a!QE_VeE~;t9@wwnTe@x3YR)CqjM^6i_I0(lVF_Hup%v>csXgH4WCBRAuS!lXzb&BCSk;nnnWLz$X&D2@Lw<@3n{co;)5=lTgQ(_U%(V554yS?5F@P%fJO5RRZbvrd0+Kq5^K~n#VHLS%*U}93k5gGV$A* z=nU0meN`^J6kv(v5rF;ly5})t$+6B`Hc*JGjmrY2p&dF+}Kr3Vc5WHBB(% zhTI1x>SM3FPNW?@ZALG5c~K||+3`RK@D0}a9d}f*rYITVe1j) z`Bo%lY$^Yu7H0Dx8z|@sJuOl^qpvVSB z0EMq_L$q+H+=)l)^S4lL?|D0+*jnc?ZOrWwvuOWUI+%$zf?f=_0j`AlkvPe^W5PrZ z0k+GKbF9PR%~0FoZO`Lp3l3GJX8&F;ko*pk0c8Q&G=mgN@$E?5X1BH}3k>k`F{I`( z%yicA_Wq-g?H&bGhg$;|#$H+$!^d~_{(_>$1LVT4?-*WK(h@7>_g!4!W&TQBfSnQ6 zN0d;@wI9R9dozsv4;6$grF!|ZgQ)JAt?KvUh~VR; zSz7o0>0oS}*18WWel^5P+e8W=B+h|>%LxE{$rnCJBZM=vq5hte6!4We06Fxy!*Jd9 zk4FNXrq^q{!{lYOdWCaALVfJ->yOII%~TV8V4;(WLV7w{X^dY^k#-Ng-#g@*~rG=lb!!+~2!o=PQ!# ztgU(%9az@bn@8xTMb+i0Nv3+HRb*k;Motox_=)zRw^-Lrcip#SG9Ps-E35mQ3ZCVc z1RH(JHK7d~;D9c>s%;+;Ht`%)w!BU7c586}{fTpG>h$`%mC__F-Gct9K)a!4)0^b38Qko6lZd;z$j&&e+80HJ18mx zo+RK+XD>ChV^=cBz%YxN`#$jk#BctGz6!xv)aDJ!uhkt1q8+LI7%WKv22G0~Knk_Ew`%B}0#$i82`B`aR zp*KE}dFgu~wqSmoGuN2~e0;IP$7kX48kIE{M%KVBrWITVh&PMjq!ttC^(@Y`Z>Wt$ z&*DuB(wsv5W~owU4wWj9aATjcD$$#%BsP&->8aV%@XS&{vW!U$B2s@{eBdVB;Ec*B zLH(T=`TtP$j^S~I@4j%7iLJ)Alg75qHfCen6E?OQCymkAHX7SbV@~Y6^WXd3XP@(B z=EGVu>$$G=tb5(~LB6<`U5$O2Ck69MY#}DXUUg4MH>Jt-@enOYX5QuG{kWEnyMY+?`AS8Y8HY>8bf@bKtyMsVEAB;1cIq_Q1gG15 zpe99R0)t4Om@f$fiOf1T0?*KH;ToTVJ`xgv^o@yvlE+O~6XR%qNf)pGjWP>qSL`S; z;`A51U$&RZiaVgmeOcLLc8;L^d+hpU-NGcf&?B+S;o=7>u+8o=^}!mEpebA)(RMFw z1@}$(^)dH8eQ3_D%TeKK&cZv?z-j~5Z+^S<*hXz)c|SH>g?MmqA&we1gV{)X>@2 zSLFlpz(;r`eV6X-?1uil9?%%T->X3y^LH4cv?wy@@XdOi_wZLo#OJUiHH>Su?NPx3 z&PS6qMJ{GaM#XXhV->b+N28N8(s*h+CCn4k9us4K|*iogbD;jNN{T*8J01ly##3Bm^kV9nL?YFZwy3(3eT8~ru-E#@xiw0ktkYZwgh^LKs?+6I1Z@@|rrb^L%=~hA zf{IF{#^LcVs;ara{LQR6)s~Bxc0jKKX}2qKSI*aE+=9zvwO$nyzmbR#%lllJ4&#n@ zeq(JNP0KJ9(j23^bG(J)m$5h^|7f`4I7PNp-kbunI!&(D=++vp8zB#SO_2ocjR`VY zC)P(1k~3Q!X1CrvZ_`;&LpF@L%c;bl+NFBw+6Chjs4c(dze7wR%?@40)%5svuOL=puq>>mx~^V`cuH0Impl5y~EdQ-D!VY zG{^}`UqY(%OCg=9iDsNR;n9O}e#KK(ebO+V5Tc0W zR|H#;nez0CGThvw7jG)6p+t>sB&M)xKb(BAru>sA=q+?pVZW3`oMu08_)mrTxx^## z+cH{cUac=e!1-}Zbk$c1^AP)=Hia!RwRZM}_iIL!dPuabe+@dW!OG<8ZCI;+c~r~d zY<+3~@L&9tPBh0Jzj$y39lZp2iqKx<&s)2#Nw0fcxpUqd%KS2$tCGBWf_tb>CHulG z@q<}eBjvlYYk-w!zIYXn-33m*DNkf7Qf)n5!rks6+@yZH73mbdvtl>EgxIi z#Vc{%6E^#94QL{he^>~#V_dR(E*7o**NP}d8G?Wsw&tffq}|plgd|lqM`rY2RO*9L0u6eNRyPLn|TW@~(Zm4x|Qhui$ z*+3vlKAHo+=ez~Ca(ZM(xzmr(w7Fk}iwuMc+zI?IoTBb-`NVK-W^ilHsz0p`+~c5s z1i@#1oF;6}f4YuOjaM6=b<05D=sgN0<>YnL*FruQKm#f$A9EWDX3M6S4Q(r%zt_y# z($AkrMK{?wE^m&%j5+(DV04AmZn2rl$6vixQWC^^z_7VFLN+wxU?8izAK-qqvHe;B z*KKuL6F22+u@7fsV*~3JqO|`gJuCnbtHl#VpY;v-_@%j-8|>_Bfjg3%0DbYqsMc_Q6erS;M7>laU53C0 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/stylesheet/images/large-iconset.png b/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/stylesheet/images/large-iconset.png new file mode 100644 index 0000000000000000000000000000000000000000..e66c4e248850df2c26e51ab518d79550e4e4596a GIT binary patch literal 8010 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 e|K(v|VfZDb&cl3H?8UGg6`e literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/stylesheet/images/restriction.png b/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/stylesheet/images/restriction.png new file mode 100644 index 0000000000000000000000000000000000000000..61325d67aca812b79a32a919308da7186724a382 GIT binary patch literal 1267 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI11|(N{`J4k%k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+n3Xa^B1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxKsVXI%s|1+P|wiV z#N6CmN5ROz&_Lh7NZ-&%*U;R`*vQJjKmiJrfVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8EkR}&8R-I5=oVMzl_XZ^<`pZ$OmImpPAEg{v+u2}(t{7puX=A(aKG z`a!A1`K3k4z=%sz23b{L-^Aq1JP;qO z-q+X4Gq1QLF)umQ)5TT^Xo6m5W{Q=Yp@EZ`g_DJ&fu(_=p{t>zqmiqttDAwDlcSlj zp_wI2uSMv>2~2MaLa!xGy`ZF!TL84#CABECEH%ZgC_h&L>}9J=EN*c&ax!$a zbTh?i9#n4%7Pmn4n&H%|4|I$^C}NQ!8YToxJs>7L*#bH6grAxROzlO$WL={-ADE>W z(>+}rLn>|^nbw$l$UwkV_6S3dfLX^B9s#wCn+#?d>I-}>7&+clNNX~3P-^9zCAi7) zSMR#1u5UkEE_pTGFOaERf8UMr={$!Q^h{C-ob$=XzwqWkxt9~$-p*e3(qjMoABqAD z+)Or=NqYr1$n!EC+4I*rXJLip2{8j%R;C3@LZ@i?rAOVp$*tA3XvqQo4L*05ici;c4ihF=buGMcC6af&)XZI5?=m#YifuSG zi+{Mg8_i}FVdQ&MBb@05NL8^#A|> literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/stylesheet/security.css b/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/stylesheet/security.css new file mode 100644 index 0000000..fe5dd48 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/stylesheet/security.css @@ -0,0 +1,84 @@ +/** + * ====================================================================== + * LICENSE: This file is subject to the terms and conditions defined in * + * file 'license.txt', which is part of this source code package. * + * ====================================================================== +*/ + +#aam_form{ + position: relative; +} + +.clear{ + line-height: 0; + font-size: 0; + padding: 0; + margin: 0; + clear: both; +} + +.main-inside{ + position: relative; + min-height: 200px; +} + +.aam-main-loader{ + position: absolute; + top: 0px; + left: 0px; + width: 100%; + height: 100%; + background: transparent url('images/main-loader.gif') no-repeat center; +} + +.aam-icon-large span { + background-image: url('images/large-iconset.png'); +} + +.aam-icon-large-glob span{ + background-position: 0 0; +} + +.aam-icon-large-glob:hover span{ + background-position: 0 -48px; +} + +.aam-icon-large-settings span{ + background-position: -48px 0; +} + +.aam-icon-large-settings:hover span{ + background-position: -48px -48px; +} + + +.restriction{ + background: transparent url('images/restriction.png') no-repeat center; +} + +.deny{ + background: transparent url('images/deny.png') no-repeat center; +} + +.center{ + text-align: center; +} + +.feature-off-notice{ + width: 90%; + text-align: center; + padding: 10px 0; + font-size: 1.1em; + margin: 5px auto 0 auto; + border: 1px solid #FFAAAA; +} + +.feature-off-notice a{ + text-decoration: none; + color: #257DA6; +} + +#settings_mode{ + text-align: justify; + padding: 5px 15px; +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/view/security.phtml b/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/view/security.phtml new file mode 100644 index 0000000..d52efff --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/extension/AAM_Secure/view/security.phtml @@ -0,0 +1,156 @@ + + \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/lang/aam-de_DE.mo b/wp-content/plugins/advanced-access-manager/lang/aam-de_DE.mo new file mode 100644 index 0000000000000000000000000000000000000000..3b5ab274bbc8dc5ee9151d3580c3dda35d2c2e69 GIT binary patch literal 6948 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/lang/aam-de_DE.po b/wp-content/plugins/advanced-access-manager/lang/aam-de_DE.po new file mode 100644 index 0000000..010feff --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/lang/aam-de_DE.po @@ -0,0 +1,336 @@ +msgid "" +msgstr "" +"Project-Id-Version: AAM\n" +"POT-Creation-Date: 2013-12-01 14:07-0500\n" +"PO-Revision-Date: 2014-01-02 21:40-0500\n" +"Last-Translator: Vasyl Martyniuk \n" +"Language-Team: WPAAM \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.6.3\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: de_DE\n" + +#: aam.php:243 aam.php:248 aam.php:267 +msgid "Access denied" +msgstr "Zugriff verweigert" + +#: aam.php:691 aam.php:692 +msgid "AAM" +msgstr "AAM" + +#: aam.php:701 aam.php:702 +msgid "Access Control" +msgstr "Zugangs Kontrolle" + +#: aam.php:709 aam.php:710 +msgid "Extensions" +msgstr "Erweiterungen" + +#: application/view/capability.php:98 application/view/capability.php:179 +msgid "System" +msgstr "System" + +#: application/view/capability.php:99 application/view/capability.php:181 +msgid "Post & Page" +msgstr "Artikel & Seiten" + +#: application/view/capability.php:100 application/view/capability.php:183 +msgid "Backend Interface" +msgstr "Backend Interface" + +#: application/view/capability.php:101 +msgid "Miscellaneous" +msgstr "Diverses" + +#: application/view/capability.php:185 +msgid "Miscelaneous" +msgstr "Diverses" + +#: application/view/manager.php:59 +msgid "Roles" +msgstr "Rollen" + +#: application/view/manager.php:60 +msgid "Role Manager" +msgstr "Rollen Manager" + +#: application/view/manager.php:68 +msgid "Users" +msgstr "Benutzer" + +#: application/view/manager.php:69 +msgid "User Manager" +msgstr "Benutzer Manager" + +#: application/view/manager.php:77 +msgid "Visitor" +msgstr "Besucher" + +#: application/view/manager.php:78 +msgid "Visitor Manager" +msgstr "Besucher Manager" + +#: application/view/manager.php:95 +msgid "Admin Menu" +msgstr "Admin Menü" + +#: application/view/manager.php:98 +msgid "" +"Control Access to Admin Menu. Restrict access to entire Menu or Submenu. " +"Notice, the menu is rendered based on Role's or User's capabilities." +msgstr "" +"Zugangskontrolle für das Admin Menü. Zugangs Beschränkung das vollständige " +"Menü oder Untermenüs . Anmerkung, das Menü wird aufgrund der " +"Benutzer- oder Rolleneigenschaften erstellt." + +#: application/view/manager.php:103 +msgid "Metabox & Widget" +msgstr "Metabox & Widgets" + +#: application/view/manager.php:106 +msgid "" +"Filter the list of Metaboxes or Widgets for selected Role or User. If " +"metabox or widget is not listed, try to click Refresh the List button " +"or Copy & Paste direct link to page where specific metabox or widget is " +"shown and hit Retrieve Metaboxes from Link button." +msgstr "" +"Sortiere nach den Metaboxen oder Widgets der ausgewählten Rolle oder des " +"Benutzers. Wenn eine Metabox oder ein Widget nicht angezeigt wird, klicke " +"auf Refresh the List oder kopiere den direkten Link zu der Site wo " +"die Metabox oder das Widget angezeigt werden und klicke Retrieve " +"Metaboxes from Link ." + +#: application/view/manager.php:111 +msgid "Capability" +msgstr "Eigenschaft" + +#: application/view/manager.php:114 +msgid "" +"Manage the list of Capabilities for selected User or Role. Notice, " +"list of user's capabilities are inherited from user's Role.
        Warning! Be very careful with capabilities. Deleting or unchecking any capability " +"may cause temporary or permanent constrol lost over some features or " +"WordPress dashboard." +msgstr "" +"Verwalte die Eigenschaften für die ausgewählte Rolle oder den Benutzer. " +"Anmerkung, die Eigenschafen der Benutzer werden von der Benutzerrolle " +"vererbt.
        Achtung!, sei vorsichtig mit den Eigenschaften. Das " +"Löschen oder das Abwählen von Eigenschaften kann zeitweisen oder dauerhaften " +"Verlust von Funktionen verursachen." + +#: application/view/manager.php:119 +msgid "Posts & Categories" +msgstr "Artikel & Kategorien" + +#: application/view/manager.php:122 +msgid "" +"Manage access to individual Post or Term. Notice, under " +"Post, we assume any post, page or custom post type. And under " +"Term - any term like Post Categories." +msgstr "" +"Verwalte den Zugang zu einzelnen Artikeln oder Ebenen Unter " +"Artikeln werden alle Artikel, Seiten oder custom post type und unter " +"Ebenen z.B. Kategorien verstanden." + +#: application/view/manager.php:127 +msgid "Event Manager" +msgstr "Event Manager" + +#: application/view/manager.php:130 +msgid "" +"Define your own action when some event appeared in your WordPress blog. This " +"sections allows you to trigger an action on event like post content change, " +"or page status update. You can setup to send email notification, change the " +"post status or write your own custom event handler." +msgstr "" +"Definiere deine eigene Aktion, wenn ein Bestimmtes Ereignis auf deinem Blog " +"eintritt. Diese Auswahl erlaubt dir automatisch eine Aktion auszulösen, wenn " +"sich der Inhalt eines Artikels oder der Seitenstatus geändert haben. Du " +"kannst Email Benachichtugungen senden, den Artikel Status ändern oder eigene " +"Ereignisse beschreiben." + +#: application/view/manager.php:135 +msgid "ConfigPress" +msgstr "ConfigPress" + +#: application/view/manager.php:138 +msgid "" +"Control AAM behavior with ConfigPress. For more details please check " +"ConfigPress tutorial." +msgstr "" +"Kontrolliere das Verhalten von AAM mit ConfigPress Für mehr Details " +"schaue bitte ins ConfigPress Tutorial." + +#: application/view/manager.php:342 +msgid "Rollback Settings" +msgstr "Wiederholungseinstellungen" + +#: application/view/manager.php:343 +msgid "Cancel" +msgstr "Abbrechen" + +#: application/view/manager.php:344 +msgid "Send E-mail" +msgstr "E-Mail senden" + +#: application/view/manager.php:345 application/view/manager.php:351 +msgid "Add New Role" +msgstr "Neue Rolle hinzufügen" + +#: application/view/manager.php:346 +msgid "Manage" +msgstr "Verwalten" + +#: application/view/manager.php:347 +msgid "Edit" +msgstr "Bearbeiten" + +#: application/view/manager.php:348 +msgid "Delete" +msgstr "Löschen" + +#: application/view/manager.php:349 +msgid "Filtered" +msgstr "Sortieren" + +#: application/view/manager.php:350 +msgid "Clear" +msgstr "Leeren" + +#: application/view/manager.php:352 +msgid "Save Changes" +msgstr "Änderungen speichern" + +#: application/view/manager.php:353 +#, php-format +msgid "" +"System detected %d user(s) with this role. All Users with Role %s " +"will be deleted automatically!" +msgstr "" +"Das System hat %d Benutzer mit dieser Rolle identifiziert. Alle Benutzer mit " +"der Rolle %s werden automatisch gelöscht." + +#: application/view/manager.php:354 +#, php-format +msgid "Are you sure that you want to delete role %s?" +msgstr "Bist du sicher, dass du die Rolle %s löschen möchtest?" + +#: application/view/manager.php:355 +msgid "Delete Role" +msgstr "Rolle löschen" + +#: application/view/manager.php:356 +msgid "Add User" +msgstr "Benutzer hinzufügen" + +#: application/view/manager.php:357 +msgid "Filter Users" +msgstr "Benutzer sortieren" + +#: application/view/manager.php:358 application/view/manager.php:374 +msgid "Refresh List" +msgstr "Liste aktualisieren" + +#: application/view/manager.php:359 +msgid "Block" +msgstr "Block" + +#: application/view/manager.php:360 +#, php-format +msgid "Are you sure you want to delete user %s?" +msgstr "Bist du sicher, dass du den Benutzer %s löschen möchtest?" + +#: application/view/manager.php:361 +msgid "Filter Capabilities by Category" +msgstr "Sortiere die Eigenschaften nach der Kategorie" + +#: application/view/manager.php:362 +msgid "Inherit Capabilities" +msgstr "Vererbe Eigenschaften" + +#: application/view/manager.php:363 +msgid "Add New Capability" +msgstr "Neue Eigenschaft hinzufügen" + +#: application/view/manager.php:364 +#, php-format +msgid "Are you sure that you want to delete capability %s?" +msgstr "Bist du sicher, dass du die Eigenschaft %s löschen möchtest?" + +#: application/view/manager.php:365 +msgid "Delete Capability" +msgstr "Eigenschaft löschen" + +#: application/view/manager.php:366 +msgid "Select Role" +msgstr "Rolle auswählen" + +#: application/view/manager.php:367 +msgid "Add Capability" +msgstr "Eigenschaft hinzufügen" + +#: application/view/manager.php:368 +msgid "Add Event" +msgstr "Event hinzufügen" + +#: application/view/manager.php:369 +msgid "Edit Event" +msgstr "Event bearbeiten" + +#: application/view/manager.php:370 application/view/manager.php:372 +msgid "Delete Event" +msgstr "Event löschen" + +#: application/view/manager.php:371 +msgid "Save Event" +msgstr "Event speichern" + +#: application/view/manager.php:373 +msgid "Filter Posts by Post Type" +msgstr "Sortiere Artikel nach Artikel Typ" + +#: application/view/manager.php:375 +msgid "Restore Default" +msgstr "Standard wiederherstellen" + +#: application/view/manager.php:376 +msgid "Apply" +msgstr "Zustimmen" + +#: application/view/manager.php:377 +msgid "Edit Term" +msgstr "Ebene bearbeiten" + +#: application/view/manager.php:378 +msgid "Manager Access" +msgstr "Zugangs Verwaltung" + +#: application/view/manager.php:379 +msgid "Unlock Default Accesss Control" +msgstr "Öffne Standard Zugangs Kontrolle" + +#: application/view/manager.php:380 +msgid "Close" +msgstr "Schließen" + +#: application/view/manager.php:381 +msgid "Edit Role" +msgstr "Rolle bearbeiten" + +#: application/view/metabox.php:179 +msgid "Dashboard Widgets" +msgstr "Dashboard Widgets" + +#: application/view/metabox.php:183 +msgid "Frontend Widgets" +msgstr "Frontend Widgets" + +#: application/view/post.php:181 +msgid "[empty]" +msgstr "[leer]" + +#: application/view/post.php:345 application/view/post.php:353 +msgid "All" +msgstr "" diff --git a/wp-content/plugins/advanced-access-manager/lang/aam-en_US.mo b/wp-content/plugins/advanced-access-manager/lang/aam-en_US.mo new file mode 100644 index 0000000000000000000000000000000000000000..be7d7e8da61405c1ddd818aa5b30d0fa9ef9ce07 GIT binary patch literal 394 zcmYL^%TB{E5Jih%l_hHyUa(|>lNKoEp;k~(rA9=M7ItWw4#AMvk>djW5PpwuVWLXy zNJp0JW6iyP`+L6~o*m|ZIb?R3Bc`1`lk(#^pRKc*)Y%WpJ&YGHBiCqalo$?^AbrT- z#u0kHfm`&XL@c8&L@~%nL_Hu7e4hVu=MoMp!BFoN_+4mvwEOAAHw{ z)mlu($!Oam3T1F(jVHrDJ~CCI!^pMn>-Cqr&sB(=2AUPR$(*bO@WqpWVM literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/lang/aam-en_US.po b/wp-content/plugins/advanced-access-manager/lang/aam-en_US.po new file mode 100644 index 0000000..26aab65 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/lang/aam-en_US.po @@ -0,0 +1,310 @@ +msgid "" +msgstr "" +"Project-Id-Version: AAM\n" +"POT-Creation-Date: 2013-12-01 14:07-0500\n" +"PO-Revision-Date: 2014-01-02 21:40-0500\n" +"Last-Translator: Vasyl Martyniuk \n" +"Language-Team: WPAAM \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: en_US\n" +"X-Generator: Poedit 1.6.3\n" + +#: aam.php:243 aam.php:248 aam.php:267 +msgid "Access denied" +msgstr "" + +#: aam.php:691 aam.php:692 +msgid "AAM" +msgstr "" + +#: aam.php:701 aam.php:702 +msgid "Access Control" +msgstr "" + +#: aam.php:709 aam.php:710 +msgid "Extensions" +msgstr "" + +#: application/view/capability.php:98 application/view/capability.php:179 +msgid "System" +msgstr "" + +#: application/view/capability.php:99 application/view/capability.php:181 +msgid "Post & Page" +msgstr "" + +#: application/view/capability.php:100 application/view/capability.php:183 +msgid "Backend Interface" +msgstr "" + +#: application/view/capability.php:101 +msgid "Miscellaneous" +msgstr "" + +#: application/view/capability.php:185 +msgid "Miscelaneous" +msgstr "" + +#: application/view/manager.php:59 +msgid "Roles" +msgstr "" + +#: application/view/manager.php:60 +msgid "Role Manager" +msgstr "" + +#: application/view/manager.php:68 +msgid "Users" +msgstr "" + +#: application/view/manager.php:69 +msgid "User Manager" +msgstr "" + +#: application/view/manager.php:77 +msgid "Visitor" +msgstr "" + +#: application/view/manager.php:78 +msgid "Visitor Manager" +msgstr "" + +#: application/view/manager.php:95 +msgid "Admin Menu" +msgstr "" + +#: application/view/manager.php:98 +msgid "" +"Control Access to Admin Menu. Restrict access to entire Menu or Submenu. " +"Notice, the menu is rendered based on Role's or User's capabilities." +msgstr "" + +#: application/view/manager.php:103 +msgid "Metabox & Widget" +msgstr "" + +#: application/view/manager.php:106 +msgid "" +"Filter the list of Metaboxes or Widgets for selected Role or User. If " +"metabox or widget is not listed, try to click Refresh the List button " +"or Copy & Paste direct link to page where specific metabox or widget is " +"shown and hit Retrieve Metaboxes from Link button." +msgstr "" + +#: application/view/manager.php:111 +msgid "Capability" +msgstr "" + +#: application/view/manager.php:114 +msgid "" +"Manage the list of Capabilities for selected User or Role. Notice, " +"list of user's capabilities are inherited from user's Role.
        Warning! Be very careful with capabilities. Deleting or unchecking any capability " +"may cause temporary or permanent constrol lost over some features or " +"WordPress dashboard." +msgstr "" + +#: application/view/manager.php:119 +msgid "Posts & Categories" +msgstr "" + +#: application/view/manager.php:122 +msgid "" +"Manage access to individual Post or Term. Notice, under " +"Post, we assume any post, page or custom post type. And under " +"Term - any term like Post Categories." +msgstr "" + +#: application/view/manager.php:127 +msgid "Event Manager" +msgstr "" + +#: application/view/manager.php:130 +msgid "" +"Define your own action when some event appeared in your WordPress blog. This " +"sections allows you to trigger an action on event like post content change, " +"or page status update. You can setup to send email notification, change the " +"post status or write your own custom event handler." +msgstr "" + +#: application/view/manager.php:135 +msgid "ConfigPress" +msgstr "" + +#: application/view/manager.php:138 +msgid "" +"Control AAM behavior with ConfigPress. For more details please check " +"ConfigPress tutorial." +msgstr "" + +#: application/view/manager.php:342 +msgid "Rollback Settings" +msgstr "" + +#: application/view/manager.php:343 +msgid "Cancel" +msgstr "" + +#: application/view/manager.php:344 +msgid "Send E-mail" +msgstr "" + +#: application/view/manager.php:345 application/view/manager.php:351 +msgid "Add New Role" +msgstr "" + +#: application/view/manager.php:346 +msgid "Manage" +msgstr "" + +#: application/view/manager.php:347 +msgid "Edit" +msgstr "" + +#: application/view/manager.php:348 +msgid "Delete" +msgstr "" + +#: application/view/manager.php:349 +msgid "Filtered" +msgstr "" + +#: application/view/manager.php:350 +msgid "Clear" +msgstr "" + +#: application/view/manager.php:352 +msgid "Save Changes" +msgstr "" + +#: application/view/manager.php:353 +#, php-format +msgid "" +"System detected %d user(s) with this role. All Users with Role %s " +"will be deleted automatically!" +msgstr "" + +#: application/view/manager.php:354 +#, php-format +msgid "Are you sure that you want to delete role %s?" +msgstr "" + +#: application/view/manager.php:355 +msgid "Delete Role" +msgstr "" + +#: application/view/manager.php:356 +msgid "Add User" +msgstr "" + +#: application/view/manager.php:357 +msgid "Filter Users" +msgstr "" + +#: application/view/manager.php:358 application/view/manager.php:374 +msgid "Refresh List" +msgstr "" + +#: application/view/manager.php:359 +msgid "Block" +msgstr "" + +#: application/view/manager.php:360 +#, php-format +msgid "Are you sure you want to delete user %s?" +msgstr "" + +#: application/view/manager.php:361 +msgid "Filter Capabilities by Category" +msgstr "" + +#: application/view/manager.php:362 +msgid "Inherit Capabilities" +msgstr "" + +#: application/view/manager.php:363 +msgid "Add New Capability" +msgstr "" + +#: application/view/manager.php:364 +#, php-format +msgid "Are you sure that you want to delete capability %s?" +msgstr "" + +#: application/view/manager.php:365 +msgid "Delete Capability" +msgstr "" + +#: application/view/manager.php:366 +msgid "Select Role" +msgstr "" + +#: application/view/manager.php:367 +msgid "Add Capability" +msgstr "" + +#: application/view/manager.php:368 +msgid "Add Event" +msgstr "" + +#: application/view/manager.php:369 +msgid "Edit Event" +msgstr "" + +#: application/view/manager.php:370 application/view/manager.php:372 +msgid "Delete Event" +msgstr "" + +#: application/view/manager.php:371 +msgid "Save Event" +msgstr "" + +#: application/view/manager.php:373 +msgid "Filter Posts by Post Type" +msgstr "" + +#: application/view/manager.php:375 +msgid "Restore Default" +msgstr "" + +#: application/view/manager.php:376 +msgid "Apply" +msgstr "" + +#: application/view/manager.php:377 +msgid "Edit Term" +msgstr "" + +#: application/view/manager.php:378 +msgid "Manager Access" +msgstr "" + +#: application/view/manager.php:379 +msgid "Unlock Default Accesss Control" +msgstr "" + +#: application/view/manager.php:380 +msgid "Close" +msgstr "" + +#: application/view/manager.php:381 +msgid "Edit Role" +msgstr "" + +#: application/view/metabox.php:179 +msgid "Dashboard Widgets" +msgstr "" + +#: application/view/metabox.php:183 +msgid "Frontend Widgets" +msgstr "" + +#: application/view/post.php:181 +msgid "[empty]" +msgstr "" + +#: application/view/post.php:345 application/view/post.php:353 +msgid "All" +msgstr "" diff --git a/wp-content/plugins/advanced-access-manager/lang/aam-es_ES.mo b/wp-content/plugins/advanced-access-manager/lang/aam-es_ES.mo new file mode 100644 index 0000000000000000000000000000000000000000..12a27085514d5444b10e8ca947bab704b964b56d GIT binary patch literal 6940 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/lang/aam-es_ES.po b/wp-content/plugins/advanced-access-manager/lang/aam-es_ES.po new file mode 100644 index 0000000..0935c9f --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/lang/aam-es_ES.po @@ -0,0 +1,998 @@ +msgid "" +msgstr "" +"Project-Id-Version: Advanced Access Manager\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-12-01 14:07-0500\n" +"PO-Revision-Date: 2014-01-03 18:30-0300\n" +"Last-Translator: Esteban Truelsegaard \n" +"Language-Team: Vasyl Martyniuk \n" +"Language: en\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-KeywordsList: _;gettext;gettext_noop;__\n" +"X-Generator: Poedit 1.5.7\n" +"X-Poedit-SearchPath-0: .\n" + +#: aam.php:243 aam.php:248 aam.php:267 +msgid "Access denied" +msgstr "Acceso Denegado" + +#: aam.php:691 aam.php:692 +msgid "AAM" +msgstr "Permisos AAM" + +#: aam.php:701 aam.php:702 +msgid "Access Control" +msgstr "Control de Accesos" + +#: aam.php:709 aam.php:710 +msgid "Extensions" +msgstr "Extensiones" + +#: application/view/capability.php:98 application/view/capability.php:179 +msgid "System" +msgstr "Sistema" + +#: application/view/capability.php:99 application/view/capability.php:181 +msgid "Post & Page" +msgstr "Entrada & Página" + +#: application/view/capability.php:100 application/view/capability.php:183 +msgid "Backend Interface" +msgstr "Backend Interface" + +#: application/view/capability.php:101 +msgid "Miscellaneous" +msgstr "Misceláneo" + +#: application/view/capability.php:185 +msgid "Miscelaneous" +msgstr "Misceláneo" + +#: application/view/manager.php:59 +msgid "Roles" +msgstr "Roles" + +#: application/view/manager.php:60 +msgid "Role Manager" +msgstr "Administrar Roles" + +#: application/view/manager.php:68 +msgid "Users" +msgstr "Usuarios" + +#: application/view/manager.php:69 +msgid "User Manager" +msgstr "Administrar Usuario" + +#: application/view/manager.php:77 +msgid "Visitor" +msgstr "Visita" + +#: application/view/manager.php:78 +msgid "Visitor Manager" +msgstr "Administrar Visitas" + +#: application/view/manager.php:95 +msgid "Admin Menu" +msgstr "Menú principal" + +#: application/view/manager.php:98 +msgid "" +"Control Access to Admin Menu. Restrict access to entire Menu or Submenu. " +"Notice, the menu is rendered based on Role's or User's capabilities." +msgstr "" +"Control de Accesos al Menu Admin. Restringe accesos a todo el Menú o por " +"Submenú. Nota, el menú es mostrado basado en el Rol o capabilities " +"del Usuario." + +#: application/view/manager.php:103 +msgid "Metabox & Widget" +msgstr "Metabox & Widget" + +#: application/view/manager.php:106 +msgid "" +"Filter the list of Metaboxes or Widgets for selected Role or User. If " +"metabox or widget is not listed, try to click Refresh the List button " +"or Copy & Paste direct link to page where specific metabox or widget is " +"shown and hit Retrieve Metaboxes from Link button." +msgstr "" +"Filtrar lista de Metaboxes o Widgets para el Rol o Usuario seleccionado. Si " +"el metabox o widget no está listado, intente clickeando el botón " +"Actualizar Lista o Copie & Pegue el link directo a la página donde se " +"muestra el metabox o widget y toque el botón Recuperar Metaboxes desde " +"link." + +#: application/view/manager.php:111 +msgid "Capability" +msgstr "Capability" + +#: application/view/manager.php:114 +msgid "" +"Manage the list of Capabilities for selected User or Role. Notice, " +"list of user's capabilities are inherited from user's Role.
        Warning! Be very careful with capabilities. Deleting or unchecking any capability " +"may cause temporary or permanent constrol lost over some features or " +"WordPress dashboard." +msgstr "" +"Administrar lista de Capabilities para el Usuario o Rol seleccionado. " +"Nota, la lista de capacidades se heredan del Rol de usuario.
        Cuidado! Sea cuidadoso con las capacidades. Borrar o desmarcar una " +"capability puede causar perdida de control temporal o permanente sobre " +"alguna característica o el panel de Wordpress." + +#: application/view/manager.php:119 +msgid "Posts & Categories" +msgstr "Entradas & Taxonomias" + +#: application/view/manager.php:122 +msgid "" +"Manage access to individual Post or Term. Notice, under " +"Post, we assume any post, page or custom post type. And under " +"Term - any term like Post Categories." +msgstr "" +"Administrar acceso sobre Entrada o Taxonomía individual. Nota, " +"bajo Entrada, se asume cualquier post, página o custom post type. Y " +"bajo Taxonomía, cualquier término como Categorías de Entradas." + +#: application/view/manager.php:127 +msgid "Event Manager" +msgstr "Administrar Eventos" + +#: application/view/manager.php:130 +msgid "" +"Define your own action when some event appeared in your WordPress blog. This " +"sections allows you to trigger an action on event like post content change, " +"or page status update. You can setup to send email notification, change the " +"post status or write your own custom event handler." +msgstr "" +"Define su propia acción cuando ocurre algún evento en su blog. Esta sección " +"le permite agregar una acción a un evento como cambio de contenido de una " +"entrada, o el estado de actualización de una página. Puede enviar una " +"notificación por e-mail, cambiar el estado de la entrada o escribir su " +"propio manejador de eventos." + +#: application/view/manager.php:135 +msgid "ConfigPress" +msgstr "Configuración" + +#: application/view/manager.php:138 +msgid "" +"Control AAM behavior with ConfigPress. For more details please check " +"ConfigPress tutorial." +msgstr "" +"Controle el comportamiento de AAM con ConfigPress. Para mas detalles " +"mire ConfigPress tutorial." + +#: application/view/manager.php:342 +msgid "Rollback Settings" +msgstr "Recuperar Valores" + +#: application/view/manager.php:343 +msgid "Cancel" +msgstr "Cancelar" + +#: application/view/manager.php:344 +msgid "Send E-mail" +msgstr "Enviar email" + +#: application/view/manager.php:345 application/view/manager.php:351 +msgid "Add New Role" +msgstr "Agregar Nuevo Rol" + +#: application/view/manager.php:346 +msgid "Manage" +msgstr "Administrar" + +#: application/view/manager.php:347 +msgid "Edit" +msgstr "Editor" + +#: application/view/manager.php:348 +msgid "Delete" +msgstr "Borrar" + +#: application/view/manager.php:349 +msgid "Filtered" +msgstr "Filtrado" + +#: application/view/manager.php:350 +msgid "Clear" +msgstr "Limpìar" + +#: application/view/manager.php:352 +msgid "Save Changes" +msgstr "Grabar Cambios" + +#: application/view/manager.php:353 +#, php-format +msgid "" +"System detected %d user(s) with this role. All Users with Role %s " +"will be deleted automatically!" +msgstr "" +"El sistema ha detectado %d usuario(s) con este rol. ¡Todos los Usuarios con " +"Rol %s serán borrados automáticamente!" + +#: application/view/manager.php:354 +#, php-format +msgid "Are you sure that you want to delete role %s?" +msgstr "Está seguro de borrar el rol %s?" + +#: application/view/manager.php:355 +msgid "Delete Role" +msgstr "Borrar Rol" + +#: application/view/manager.php:356 +msgid "Add User" +msgstr "Agregar Usuario" + +#: application/view/manager.php:357 +msgid "Filter Users" +msgstr "Filtrar Usuarios" + +#: application/view/manager.php:358 application/view/manager.php:374 +msgid "Refresh List" +msgstr "Refrescar Lista" + +#: application/view/manager.php:359 +msgid "Block" +msgstr "Bloquear" + +#: application/view/manager.php:360 +#, php-format +msgid "Are you sure you want to delete user %s?" +msgstr "Está seguro de borrar el usuario %s?" + +#: application/view/manager.php:361 +msgid "Filter Capabilities by Category" +msgstr "Filtrar Capabilities por Categoría" + +#: application/view/manager.php:362 +msgid "Inherit Capabilities" +msgstr "Inherit Capabilities" + +#: application/view/manager.php:363 +msgid "Add New Capability" +msgstr "Agregar nueva Capability" + +#: application/view/manager.php:364 +#, php-format +msgid "Are you sure that you want to delete capability %s?" +msgstr "Por favor confirme el borrado de Capability - %s" + +#: application/view/manager.php:365 +msgid "Delete Capability" +msgstr "Borrar Capability" + +#: application/view/manager.php:366 +msgid "Select Role" +msgstr "Seleccionar Rol" + +#: application/view/manager.php:367 +msgid "Add Capability" +msgstr "Agregar Capability" + +#: application/view/manager.php:368 +msgid "Add Event" +msgstr "Agregar Evento" + +#: application/view/manager.php:369 +msgid "Edit Event" +msgstr "Editar Evento" + +#: application/view/manager.php:370 application/view/manager.php:372 +msgid "Delete Event" +msgstr "Borrar Evento" + +#: application/view/manager.php:371 +msgid "Save Event" +msgstr "Salvar Evento" + +#: application/view/manager.php:373 +msgid "Filter Posts by Post Type" +msgstr "Filtrar Entradas por Post Type" + +#: application/view/manager.php:375 +msgid "Restore Default" +msgstr "Restaurar valores por defecto" + +#: application/view/manager.php:376 +msgid "Apply" +msgstr "Aplicar Todo" + +#: application/view/manager.php:377 +msgid "Edit Term" +msgstr "Editar Term" + +#: application/view/manager.php:378 +msgid "Manager Access" +msgstr "Administrar Accesos" + +#: application/view/manager.php:379 +msgid "Unlock Default Accesss Control" +msgstr "Desbloquear Control de Accesos por Defecto" + +#: application/view/manager.php:380 +msgid "Close" +msgstr "Cerrar" + +#: application/view/manager.php:381 +msgid "Edit Role" +msgstr "Editar Rol" + +#: application/view/metabox.php:179 +msgid "Dashboard Widgets" +msgstr "Metaboxes & Widgets" + +#: application/view/metabox.php:183 +msgid "Frontend Widgets" +msgstr "Frontend Widgets" + +#: application/view/post.php:181 +msgid "[empty]" +msgstr "[vaciar]" + +#: application/view/post.php:345 application/view/post.php:353 +msgid "All" +msgstr "Todo" + +#~ msgid "Password Protected" +#~ msgstr "Protegido por contraseña" + +#~ msgid "Public" +#~ msgstr "Público" + +#~ msgid "Advanced Access Manager" +#~ msgstr "Administrador de Accesos" + +#~ msgid "Alert" +#~ msgstr "Alerta" + +#~ msgid "Options updated successfully" +#~ msgstr "Opciones guardadas" + +#~ msgid "Drag and Drop Menu in the List and click Save Order" +#~ msgstr "" +#~ "Para Reorganizar el menu sólo arrastre y suelte Items en la lista y " +#~ "clickee Salvar Orden" + +#~ msgid "Reorganize" +#~ msgstr "Reorganizar" + +#~ msgid "Whole Branch" +#~ msgstr "Toda la Rama" + +#~ msgid "" +#~ "To initialize list of metaboxes manually, copy and paste the URL to edit " +#~ "screen page (e.g. http://localhost/wp-admin/post.php?post=1&action=edit) " +#~ "into text field and click \"Initiate URL\". List of all new metaboxes " +#~ "will be added automatically." +#~ msgstr "" +#~ "Para inicializar la lista de metaboxes manualmente, copie y pegue la URL " +#~ "a la pag. admin en este sitio en el campo de texto y clickee \"Iniciar URL" +#~ "\". La lista de todas las metaboxes nuevas serán agregadas " +#~ "automaticamente." + +#~ msgid "Enter Correct URL" +#~ msgstr "Ingrese URL correcta" + +#~ msgid "Initialize URL" +#~ msgstr "Inicializar URL" + +#~ msgid "ID" +#~ msgstr "ID" + +#~ msgid "Priority" +#~ msgstr "Prioridad" + +#~ msgid "Position" +#~ msgstr "Posición" + +#~ msgid "Restrict" +#~ msgstr "Restringir" + +#~ msgid "List of Metaboxes is empty or not initialized." +#~ msgstr "La lista de metaboxes esta vacía o no inicializada." + +#~ msgid "Initialize the List" +#~ msgstr "Inicializar la Lista" + +#~ msgid "Error" +#~ msgstr "Error" + +#~ msgid "Role Administrator's List of Capabilities" +#~ msgstr "Dar lista de Capabilities de Administrador" + +#~ msgid "Administrator" +#~ msgstr "Administrador" + +#~ msgid "Role Editor's List of Capabilities" +#~ msgstr "Dar lista de Capabilities de Editor" + +#~ msgid "Role Author's List of Capabilities" +#~ msgstr "Dar lista de Capabilities de Autor" + +#~ msgid "Author" +#~ msgstr "Autor" + +#~ msgid "Role Contributor's List of Capabilities" +#~ msgstr "Dar lista de Capabilities de Contribuidor" + +#~ msgid "Contributor" +#~ msgstr "Contribuidor" + +#~ msgid "Role Subscriber's List of Capabilities" +#~ msgstr "Dar lista de Capabilities de Suscriptor" + +#~ msgid "Subscriber" +#~ msgstr "Suscriptor" + +#~ msgid "Collapse All" +#~ msgstr "Colapsar Todo" + +#~ msgid "Expand All" +#~ msgstr "Expandir Todo" + +#~ msgid "Error during saving" +#~ msgstr "Error mientras guardaba" + +#~ msgid "Apply Restrictions Only for Current Role or User" +#~ msgstr "Aplicar Restricciones solo para el Rol o Usuario Actual" + +#~ msgid "Apply Restrictions for All Roles" +#~ msgstr "Aplicar valores para TODOS los Roles de Usuario ?" + +#~ msgid "Apply for All" +#~ msgstr "Aplicar para Todo" + +#~ msgid "Select Post, Page or Taxonomy" +#~ msgstr "Seleccionar Entrada, Página o Taxonomía" + +#~ msgid "Click to toggle" +#~ msgstr "Click para intercambiar" + +#~ msgid "General" +#~ msgstr "General" + +#~ msgid "Current Role" +#~ msgstr "Rol Actual" + +#~ msgid "OK" +#~ msgstr "OK" + +#~ msgid "Saving..." +#~ msgstr "Salvando..." + +#~ msgid "Save" +#~ msgstr "Salvar" + +#~ msgid "Enter New Role" +#~ msgstr "Ingrese Nuevo Rol" + +#~ msgid "Add" +#~ msgstr "Agregar" + +#~ msgid "New Role Created successfully" +#~ msgstr "Nuevo Rol creado" + +#~ msgid "Role can not be created" +#~ msgstr "El Rol no puede ser creado" + +#~ msgid "Delete Role?" +#~ msgstr "Borrar Rol ?" + +#~ msgid "Please confirm deleting Role %s" +#~ msgstr "Por favor confirme el borrado del Rol %s" + +#~ msgid "Save Menu Order" +#~ msgstr "Salvar Orden del Menú?" + +#~ msgid "Save Menu Order ONLY for Role %s?" +#~ msgstr "Le gustaría salvar el orden del Menú SOLO para el Rol %s?" + +#~ msgid "Delete Capability?" +#~ msgstr "Borrar Capability?" + +#~ msgid "Restore Default Settings?" +#~ msgstr "Restaurar valores por defecto de Rol?" + +#~ msgid "All current settings will be lost. Are you sure?" +#~ msgstr "Todos los valores actuales se perderán. Está seguro?" + +#~ msgid "Apply Setting for ALL Roles?" +#~ msgstr "Aplicar valores para TODOS los Roles de Usuario ?" + +#~ msgid "Do you really want to apply these settings to ALL Roles?" +#~ msgstr "" +#~ "Realmente quiere aplicar estos valores para TODOS los Roles de " +#~ "Usuario ?" + +#~ msgid "Do not show me this message again" +#~ msgstr "No mostrarme este mensaje otra vez." + +#~ msgid "Description" +#~ msgstr "Posición" + +#~ msgid "Upgrade functionality" +#~ msgstr "Actualizar funcionalidad" + +#~ msgid "Important Message" +#~ msgstr "Mensaje Importante" + +#~ msgid "No Description found" +#~ msgstr "No se encontró descripción" + +#~ msgid "WARNING" +#~ msgstr "WARNING" + +#~ msgid "" +#~ "Advanced Access Manager requires WordPress 3.2 or newer. Update now!" +#~ msgstr "" +#~ "Advanced Access Manager requiere WordPress 3.1 o mayor. Update now!" + +#~ msgid "Advanced Access Manager requires PHP 5.1.2 or newer" +#~ msgstr "Advanced Access Manager requiere PHP 5.0 o superior" + +#~ msgid "Empty Capability" +#~ msgstr "Borrar Capability" + +#~ msgid "Current Capability can not be deleted" +#~ msgstr "Capability Actual no puede ser borrada" + +#~ msgid "Super Admin" +#~ msgstr "Super Admin" + +#~ msgid "Unauthorized Action" +#~ msgstr "Acción no Autorizada" + +#~ msgid "Options List" +#~ msgstr "Lista de Opciones" + +#~ msgid "Yes" +#~ msgstr "Si" + +#~ msgid "Error appeared during Metabox initialization!" +#~ msgstr "Aparece un error durante la inicialización Metabox!" + +#~ msgid "Restore" +#~ msgstr "Restaurar" + +#~ msgid "Current Role can not be restored!" +#~ msgstr "Rol actual no puede ser restaurado!" + +#~ msgid "Apply All" +#~ msgstr "Aplicar Todo" + +#~ msgid "Error during information grabbing!" +#~ msgstr "Error during information grabbing!" + +#~ msgid "Premium" +#~ msgstr " " + +#~ msgid "Create" +#~ msgstr "Crear" + +#~ msgid "Do not Create" +#~ msgstr "No Crear" + +#~ msgid "Change Role" +#~ msgstr "Cambiar Rol" + +#~ msgid "Current Site" +#~ msgstr "Sitio Actual" + +#~ msgid "" +#~ "cURL library returned empty result. Contact your system administrator to " +#~ "fix this issue." +#~ msgstr "" +#~ "cURL library returned empty result. Contact your system administrator to " +#~ "fix this issue." + +#~ msgid "" +#~ "You are not an active user for current blog. Please click here to add yourself to current blog as " +#~ "Administrator" +#~ msgstr "" +#~ "No es un usuario activo para el blog Actual. Por favor clickea aquí para agregarte como admin del blog " +#~ "actual" + +#~ msgid "Basic" +#~ msgstr " " + +#~ msgid "Administrator added Successfully" +#~ msgstr "Administrador agregado" + +#~ msgid "Failed to add new Administrator" +#~ msgstr "Falla al agregar Administrador" + +#~ msgid "Click for more information" +#~ msgstr "Click para Tooltip" + +#~ msgid "Current User" +#~ msgstr "Usuario Actual" + +#~ msgid "Delete current capability" +#~ msgstr "Borrar Capability" + +#~ msgid "Read more..." +#~ msgstr "Leer Más..." + +#~ msgid "Restore Default Settings" +#~ msgstr "Restaurar valores por defecto de Rol?" + +#~ msgid "" +#~ "Check Menu or Submenu to restrict or Whole Branch to restrict " +#~ "whole menu." +#~ msgstr "" +#~ "Marque Menú o Sub-menú para restringir el acceso o Toda la Rama " +#~ "para restringir el acceso a todo el menú." + +#~ msgid "" +#~ "Only Latin letters, numbers and space are allowed. All other symbols will " +#~ "be filtered.
        New Capability will be added to Super Admin and Admin " +#~ "Roles automatically." +#~ msgstr "" +#~ "Sólo se permiten letras, números y espacios. Todo lo demás será filtrado." +#~ "
        La nueva Capability se agregará automáticamente a los roles Super " +#~ "Admin y Admin." + +#~ msgid "Enter New Capability" +#~ msgstr "Agregar nueva Capability" + +#~ msgid "Would you like to restore default restrictions?" +#~ msgstr "Quiere restaurar los permisos por defecto ?" + +#~ msgid "Restore Restrictions" +#~ msgstr "Restaurar valores por defecto de Rol?" + +#~ msgid "Posts in %s" +#~ msgstr "Entradas en %s" + +#~ msgid "Information" +#~ msgstr "Información" + +#~ msgid "Refresh" +#~ msgstr "Refrescar" + +#~ msgid "Frontend" +#~ msgstr "Frontend" + +#~ msgid "Backend" +#~ msgstr "Backend" + +#~ msgid "List" +#~ msgstr "Lista de Roles" + +#~ msgid "Exclude" +#~ msgstr "Excluir Página" + +#~ msgid "Read" +#~ msgstr "Leer" + +#~ msgid "Trash" +#~ msgstr "Papelera" + +#~ msgid "Install Plugin" +#~ msgstr "Instalar Plugin" + +#~ msgid "Publish" +#~ msgstr "Público" + +#~ msgid "Comment" +#~ msgstr "Comentario" + +#~ msgid "Browse" +#~ msgstr "Mostrar" + +#~ msgid "Worth checking" +#~ msgstr "Chequeo de errores" + +#~ msgid "Additional features available" +#~ msgstr "Características adicionales" + +#~ msgid "You have a JavaScript Error on a page" +#~ msgstr "Tiene un error Javascript en una página" + +#~ msgid "For support send an email to address" +#~ msgstr "Para soporte envíe un email a" + +#~ msgid "Add New Cap" +#~ msgstr "Agregar Cap" + +#~ msgid "Title" +#~ msgstr "Título" + +#~ msgid "This is the title of selected Post or Page" +#~ msgstr "Este es el título del Post o Página seleccionada" + +#~ msgid "Selected item's type" +#~ msgstr "Tipo de Item seleccionado" + +#~ msgid "Type" +#~ msgstr "Tipo" + +#~ msgid "Status" +#~ msgstr "Status" + +#~ msgid "Current Post or Page Status" +#~ msgstr "Estado actual del Post o Página" + +#~ msgid "Visibility" +#~ msgstr "Visibilidad" + +#~ msgid "Visibility of current Post or Page" +#~ msgstr "Visibilidad del Post o Página Actual" + +#~ msgid "Restrict Admin" +#~ msgstr "Restringir Admin" + +#~ msgid "Restrict access to current Post or Page on BackEnd" +#~ msgstr "Restringir acceso al Post o Página actual en el BackEnd" + +#~ msgid "Restrict Front" +#~ msgstr "Restringir Frente" + +#~ msgid "Restrict access to current Post or Page on FrontEnd" +#~ msgstr "Restringir acceso al Post o Página actual en el FrontEnd" + +#~ msgid "Just Exclude page from navitation but do not restrict access" +#~ msgstr "Sólo Excluye la página de la navegación pero no restringe el acceso" + +#~ msgid "Expire" +#~ msgstr "Expirar" + +#~ msgid "" +#~ "If Restric is checked then restrict access to current Post or Page until " +#~ "the picked date. If Restrict is unchecked then allow access to Page or " +#~ "Post until the picked date" +#~ msgstr "" +#~ "Si Restringir está checkeado entonces restringe acceso al post o página " +#~ "actual hasta la fecha elegida. Si Restringir no está checkeado entonces " +#~ "permite acceso al post o página actual hasta la fecha elegida." + +#~ msgid "Update info only for current role" +#~ msgstr "Actualizar info sólo para el rol actual" + +#~ msgid "Update Current" +#~ msgstr "Actualizar" + +#~ msgid "Update info for all role" +#~ msgstr "Actualizar info para todos los roles" + +#~ msgid "Update All" +#~ msgstr "Actualziar todo" + +#~ msgid "Category" +#~ msgstr "Categoría" + +#~ msgid "Category title" +#~ msgstr "Título de categoría" + +#~ msgid "This is just a type of post's taxonomy. Always Category" +#~ msgstr "Esto es sólo un tipo de taxonomía de post. Siempre Category" + +#~ msgid "Posts" +#~ msgstr "Posts" + +#~ msgid "Number of posts current category has" +#~ msgstr "Número de posts que tiene la categoría actual" + +#~ msgid "" +#~ "Restrict access to current category and for all Sub Categories on " +#~ "BackEnd. Also it'll restrict access to all posts under these categories" +#~ msgstr "" +#~ "Restringir acceso a la categoría actual y a todas las subcategorías en el " +#~ "BackEnd. También restringirá acceso a todos los posts bajo estas " +#~ "categorías" + +#~ msgid "" +#~ "Restrict access to current category and for all Sub Categories on " +#~ "FrontEnd. Also it'll restrict access to all posts under these categories" +#~ msgstr "" +#~ "Restringir acceso a la categoría actual y a todas las subcategorías en el " +#~ "FrontEnd. También restringirá acceso a todos los posts bajo estas " +#~ "categorías" + +#~ msgid "" +#~ "If Restric is checked then restrict access to current Category and all " +#~ "Sub Categories, and Posts since the picked date. If Restrict is unchecked " +#~ "then allow access to current Category and all Sub Categories, and Posts " +#~ "since the picked date" +#~ msgstr "" +#~ "Si Restringir está checkeado entonces restringe acceso a la categoría " +#~ "actual y sus subcategorías, y Posts desde la fecha elegida. Si " +#~ "Restringir no está checkeado entonces permite acceso a la categoría " +#~ "actual y sus subcategorías, y Posts hasta la fecha elegida." + +#~ msgid "Select a proper Page, Post or Category." +#~ msgstr "Seleccionar una página, Post, o Categoría adecuada." + +#~ msgid "Restore Default Setting for Current Role" +#~ msgstr "Restaurar valores por defecto del Rol Actual" + +#~ msgid "Export Configurations" +#~ msgstr "Exportar configuraciones" + +#~ msgid "Import Configurations" +#~ msgstr "Importar Configuraciones" + +#~ msgid "Support" +#~ msgstr "Soporte" + +#~ msgid "Find on Facebook" +#~ msgstr "Buscar en Facebook" + +#~ msgid "Follow on Twitter" +#~ msgstr "Seguir en Twitter" + +#~ msgid "LinkedIn" +#~ msgstr "LinkedIn" + +#~ msgid "Leave Without Saving?" +#~ msgstr "Salir Sin Salvar ?" + +#~ msgid "" +#~ "Some changed detected. Are you sure that you want to leave without saving" +#~ msgstr "Detectados algunos cambios. Está seguro de salir sin salvar ?" + +#~ msgid "Additional Features Available" +#~ msgstr "Disponibles características adicionales" + +#~ msgid "" +#~ "Additional features detected to extend Advanced Access Manager " +#~ "functionality." +#~ msgstr "" +#~ "Características adicionales detectadas para extender la funcionalidad del " +#~ "Administrador Avanzado de Acceso." + +#~ msgid "" +#~ "Do you want to create a Super Admin Role to get access to ALL " +#~ "features?" +#~ msgstr "" +#~ "Quiere crear el Rol Super Admin para acceder a todas las " +#~ "características ?" + +#~ msgid "" +#~ "After importing, ALL current configurations will be lost. If you are " +#~ "sure, please select proper INI file and click on Import button." +#~ msgstr "" +#~ "Despues de importar, TODAS las configuraciones actuales de perderán. Si " +#~ "está seguro, seleccione el Archivo INI apropiado y haga click en el botón " +#~ "Importar" + +#~ msgid "Uploading..." +#~ msgstr "Actualizando..." + +#~ msgid "Please wait. Importer is working..." +#~ msgstr "Espere por favor. Realizando la importación..." + +#~ msgid "You are not authorized to view this page" +#~ msgstr "No está autorizado a ver esta página" + +#~ msgid "Import" +#~ msgstr "Importar" + +#~ msgid "Error during importing" +#~ msgstr "Error durante la Importación" + +#~ msgid "Apply to ALL Blogs" +#~ msgstr "Aplicar a TODOS los Blogs" + +#~ msgid "Action completed successfully" +#~ msgstr "Acción completada con éxito" + +#~ msgid "Action failed" +#~ msgstr "Error en la acción" + +#~ msgid "Settings applied successfully to ALL Blogs" +#~ msgstr "Valores aplicados con éxito a todos los Blogs" + +#~ msgid "" +#~ "Since 2.0
        \n" +#~ " Note: No longer used." +#~ msgstr "" +#~ "Since 2.0
        \n" +#~ " Nota: No usado mas." + +#~ msgid "Description does not exist" +#~ msgstr "Descripción no existe" + +#~ msgid "

        You do not have sufficient permissions to perform this action

        " +#~ msgstr "

        No tienes los permisos suficientes para realizar esta acción

        " + +#~ msgid "" +#~ "

        General Information

        \n" +#~ "

        If you want to filter Admin Menu for some User Roles or just " +#~ "delete unnecessary dashboard widgets or metaboxes in Edit Post Page, this " +#~ "plugin is for you.\n" +#~ " You can do following things with Advanced Access Manager:

        \n" +#~ "
          \n" +#~ "
        • Filter Admin Menu for specific User Role
        • \n" +#~ "
        • Filter Dashboard Widgets for specific User Role
        • \n" +#~ "
        • Filter List of Metaboxes in Edit Post page for specific User Role\n" +#~ "
        • Add new User Capabilities
        • \n" +#~ "
        • Delete created User Capabilities
        • \n" +#~ "
        • Create new User Roles
        • \n" +#~ "
        • Delete any User Role
        • \n" +#~ "
        • Save current User Roles settings and restore later
        • \n" +#~ "
        • View the list of Posts Pages and Categories in a nice hierarchical " +#~ "tree
        • \n" +#~ "
        • Filter Posts and Post Categories
        • \n" +#~ "
        • Filter Pages and Sub Pages
        • \n" +#~ "
        • Set expiration Date for specific Posts, Pages or even Categories\n" +#~ "
        • Reorganize Order of Main Menu for specific User Role
        • \n" +#~ "
        \n" +#~ "

        Main Menu

        \n" +#~ "

        Under Main Menu Tab there is a list of admin menu and submenus. " +#~ "You can Restrict access to certain menus of submenus by checking proper " +#~ "checkbox.\n" +#~ " Also you can reorganize the menu order by draggin and dropping menus " +#~ "in order you want.

        \n" +#~ "

        Metabox & Widgets

        \n" +#~ "

        This section allows you to filter the list of metaboxes (sections " +#~ "to the Write Post, Write Page, and Write Link editing pages) and " +#~ "dashboard widgets.

        \n" +#~ "

        Capabilities

        \n" +#~ "

        This is more advanced Tab which allows to create different " +#~ "combinations of Capabilities for current User Role. If you are not " +#~ "familiar with Capabilities please read Roles and Capabilities." +#~ "

        \n" +#~ "

        Posts & Pages

        \n" +#~ "

        Tree View of Posts (grouped into categories) and Pages (organized " +#~ "hierarchically according to Parent Page parameter) where you can restrict " +#~ "access to certain page or post or the whole category for current User " +#~ "Role. There is also possibility to set expiration date to posts or pages." +#~ "

        \n" +#~ msgstr "" +#~ "

        Información General

        \n" +#~ "

        Si quiere flitrar el Menú Admin para algunos Roles de usuario o " +#~ "borrar widgets no necesarios del Escritorio o metaboxes en la Edición de " +#~ "páginas , Este plugin es para ti.\n" +#~ " You can do following things with Advanced Access Manager:

        \n" +#~ "
          \n" +#~ "
        • Filter Admin Menu for specific User Role
        • \n" +#~ "
        • Filter Dashboard Widgets for specific User Role
        • \n" +#~ "
        • Filter List of Metaboxes in Edit Post page for specific User Role\n" +#~ "
        • Add new User Capabilities
        • \n" +#~ "
        • Delete created User Capabilities
        • \n" +#~ "
        • Create new User Roles
        • \n" +#~ "
        • Delete any User Role
        • \n" +#~ "
        • Save current User Roles settings and restore later
        • \n" +#~ "
        • View the list of Posts Pages and Categories in a nice hierarchical " +#~ "tree
        • \n" +#~ "
        • Filter Posts and Post Categories
        • \n" +#~ "
        • Filter Pages and Sub Pages
        • \n" +#~ "
        • Set expiration Date for specific Posts, Pages or even Categories\n" +#~ "
        • Reorganize Order of Main Menu for specific User Role
        • \n" +#~ "
        \n" +#~ "

        Main Menu

        \n" +#~ "

        Under Main Menu Tab there is a list of admin menu and submenus. " +#~ "You can Restrict access to certain menus of submenus by checking proper " +#~ "checkbox.\n" +#~ " Also you can reorganize the menu order by draggin and dropping menus " +#~ "in order you want.

        \n" +#~ "

        Metabox & Widgets

        \n" +#~ "

        This section allows you to filter the list of metaboxes (sections " +#~ "to the Write Post, Write Page, and Write Link editing pages) and " +#~ "dashboard widgets.

        \n" +#~ "

        Capabilities

        \n" +#~ "

        This is more advanced Tab which allows to create different " +#~ "combinations of Capabilities for current User Role. If you are not " +#~ "familiar with Capabilities please read Roles and Capabilities." +#~ "

        \n" +#~ "

        Posts & Pages

        \n" +#~ "

        Tree View of Posts (grouped into categories) and Pages (organized " +#~ "hierarchically according to Parent Page parameter) where you can restrict " +#~ "access to certain page or post or the whole category for current User " +#~ "Role. There is also possibility to set expiration date to posts or pages." +#~ "

        \n" diff --git a/wp-content/plugins/advanced-access-manager/lang/aam-fa_IR.mo b/wp-content/plugins/advanced-access-manager/lang/aam-fa_IR.mo new file mode 100644 index 0000000000000000000000000000000000000000..78c8e383f5d3756d090e484a0f08037c2868ac66 GIT binary patch literal 10259 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 E1HC`G-~a#s literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/lang/aam-fa_IR.po b/wp-content/plugins/advanced-access-manager/lang/aam-fa_IR.po new file mode 100644 index 0000000..19f9f1a --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/lang/aam-fa_IR.po @@ -0,0 +1,606 @@ +msgid "" +msgstr "" +"Project-Id-Version: AAM\n" +"POT-Creation-Date: 2014-02-20 08:00+0330\n" +"PO-Revision-Date: 2014-02-20 09:05+0330\n" +"Last-Translator: Ghaem Omidi \n" +"Language-Team: WP-Parsi \n" +"Language: fa_IR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Poedit-KeywordsList: __;_e;_x;_n\n" +"X-Poedit-SourceCharset: UTF-8\n" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/aam.php:380 +#: C:\Users\Ghaem\Desktop\advanced-access-manager/aam.php:387 +#: C:\Users\Ghaem\Desktop\advanced-access-manager/aam.php:414 +msgid "Access denied" +msgstr "امکان دسترسی وجود ندارد." + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/aam.php:873 +#: C:\Users\Ghaem\Desktop\advanced-access-manager/aam.php:874 +msgid "AAM" +msgstr "افزونه مدیریت دسترسی پیشرفته" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/aam.php:883 +#: C:\Users\Ghaem\Desktop\advanced-access-manager/aam.php:884 +msgid "Access Control" +msgstr "کنترل دسترسی" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/aam.php:891 +#: C:\Users\Ghaem\Desktop\advanced-access-manager/aam.php:892 +msgid "ConfigPress" +msgstr "پیکربندی" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/aam.php:899 +#: C:\Users\Ghaem\Desktop\advanced-access-manager/aam.php:900 +msgid "Extensions" +msgstr "افزودنی ها" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/config.php:61 +msgid "Failed to create wp-content/aam folder" +msgstr "ایجاد پوشه wp-content/aam انجام نشد." + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/config.php:64 +msgid "Folder wp-content/aam is not writable" +msgstr "پوشه wp-content/aam قابل نوشتن نیست." + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/capability.php:100 +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/capability.php:204 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/capability.php:100 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/capability.php:204 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/capability.php:100 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/capability.php:204 +msgid "System" +msgstr "سیستم" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/capability.php:101 +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/capability.php:206 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/capability.php:101 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/capability.php:206 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/capability.php:101 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/capability.php:206 +msgid "Post & Page" +msgstr "نوشته و برگه" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/capability.php:102 +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/capability.php:208 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/capability.php:102 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/capability.php:208 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/capability.php:102 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/capability.php:208 +msgid "Backend Interface" +msgstr "رابط بخش مدیریت" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/capability.php:103 +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/capability.php:210 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/capability.php:103 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/capability.php:210 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/capability.php:103 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/capability.php:210 +msgid "Miscellaneous" +msgstr "متفرقه" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/extension.php:99 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/extension.php:99 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/extension.php:99 +msgid "Folder advanced-access-manager/extension is not writable" +msgstr "پوشه advanced-access-manager/extension قابل نوشتن نیست." + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:59 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:59 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:59 +msgid "Roles" +msgstr "قوانین" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:60 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:60 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:60 +msgid "Role Manager" +msgstr "مدیریت قانون" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:68 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:68 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:68 +msgid "Users" +msgstr "کاربران" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:69 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:69 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:69 +msgid "User Manager" +msgstr "مدیریت کاربر" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:77 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:77 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:77 +msgid "Visitor" +msgstr "بازدیدکنندگان" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:78 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:78 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:78 +msgid "Visitor Manager" +msgstr "مدیریت بازدیدکنندگان" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:95 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:95 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:95 +msgid "Admin Menu" +msgstr "منوی مدیریت" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:98 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:98 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:98 +msgid "" +"Control Access to Admin Menu. Restrict access to entire Menu or Submenu. " +"Notice, the menu is rendered based on Role's or User's capabilities." +msgstr "" +"کنترل دسترسی به منوی مدیریت. محدود کردن دسترسی به منو یا زیر منو. توجه، " +"منو بر اساس قابلیت های کاربران یا قوانین ارائه شده است." + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:103 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:103 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:103 +msgid "Metabox & Widget" +msgstr "متاباکس و ابزارک" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:106 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:106 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:106 +msgid "" +"Filter the list of Metaboxes or Widgets for selected Role or User. If " +"metabox or widget is not listed, try to click Refresh the List button " +"or Copy & Paste direct link to page where specific metabox or widget is " +"shown and hit Retrieve Metaboxes from Link button." +msgstr "" +"فیلترکردن متاباکس ها یا ابزارک ها برای قانون یا کاربر انتخاب شده. اگر " +"متاباکس یا ابزارک فهرست نشده است، روی ((تازه کردن فهرست)) کلیک کنید یا لینک " +"مستقیم را کپی کنید و قرار دهید." + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:111 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:111 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:111 +msgid "Capability" +msgstr "قابلیت" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:114 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:114 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:114 +msgid "" +"Manage the list of Capabilities for selected User or Role. Notice, " +"list of user's capabilities are inherited from user's Role.
        Warning! Be very careful with capabilities. Deleting or unchecking any capability " +"may cause temporary or permanent constrol lost over some features or " +"WordPress dashboard." +msgstr "" +"مدیریت فهرست قابلیت ها برای کاربر یا قانون انتخاب شده. توجه، با " +"قابلیت ها خیلی با دقت باشید. پاک کردن یا برداشتن هر قابلیتی ممکن است باعث " +"شوذ کنترل موقت یا دائم برخی از ویژگی ها یا پیشخوان وردپرس را از دست داد." + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:119 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:119 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:119 +msgid "Posts & Pages" +msgstr "نوشته ها و برگه ها" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:122 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:122 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:122 +msgid "" +"Manage access to individual Post or Term. Notice, under " +"Post, we assume any post, page or custom post type. And under " +"Term - any term like Post Categories." +msgstr "" +"مدیریت دسترسی یه نوشته یا دوره فردی. توجه، ما فرض می کنیم هر نوشته، برگه " +"یا پست تایپ دلخواه بر اساس نوشته است. و هر دوره ای شبیه دسته های نوشته بر " +"اساس دوره است." + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:127 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:127 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:127 +msgid "Event Manager" +msgstr "مدیریت رویداد" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:130 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:130 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:130 +msgid "" +"Define your own action when some event appeared in your WordPress blog. This " +"sections allows you to trigger an action on event like post content change, " +"or page status update. You can setup to send email notification, change the " +"post status or write your own custom event handler." +msgstr "" +"هنگامی که تعدادی رویداد در سایت وردپرسی شما ظاهر می شوند عمل خود را تعریف " +"کنید. این بخش ها به شما اجازه می دهند تا باعث یک عمل در رویداد شبیه تغییر " +"محتوای نوشته یا بروزرسانی وضعیت برگه شوید. شما می توانید تنظیم کنید تا تغییر " +"وضعیت نوشته یا نوشتن یک رویداد دلخواه به عنوان یک اطلاعیه به ایمیل شما ارسال " +"شوند." + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:331 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:331 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:331 +msgid "Rollback Settings" +msgstr "تنظیمات عقبگرد" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:332 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:332 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:332 +msgid "Cancel" +msgstr "لغو" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:333 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:333 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:333 +msgid "Send E-mail" +msgstr "ارسال ایمیل" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:334 +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:340 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:334 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:340 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:334 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:340 +msgid "Add New Role" +msgstr "افزودن قانون جدید" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:335 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:335 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:335 +msgid "Manage" +msgstr "مدیریت" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:336 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:336 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:336 +msgid "Edit" +msgstr "ویرایش" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:337 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:337 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:337 +msgid "Delete" +msgstr "پاک کردن" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:338 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:338 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:338 +msgid "Filtered" +msgstr "فیلترشده" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:339 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:339 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:339 +msgid "Clear" +msgstr "پاک کردن" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:341 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:341 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:341 +msgid "Save Changes" +msgstr "ذخیره ی تغییرات" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:342 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:342 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:342 +#, php-format +msgid "" +"System detected %d user(s) with this role. All Users with Role %s " +"will be deleted automatically!" +msgstr "" +"سیستم %d کاربر را با این قانون شناسایی کرده است. همه کاربران با قانون %s به طور خودکار پاک خواهند شد." + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:343 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:343 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:343 +#, php-format +msgid "Are you sure that you want to delete role %s?" +msgstr "آیا شما مطمئنید که می خواهید قانون %s را پاک کنید؟" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:344 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:344 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:344 +msgid "Delete Role" +msgstr "پاک کردن قانون" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:345 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:345 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:345 +msgid "Add User" +msgstr "افزودن کاربر" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:346 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:346 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:346 +msgid "Filter Users" +msgstr "فیلتر کاربران" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:347 +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:363 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:347 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:363 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:347 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:363 +msgid "Refresh List" +msgstr "تازه کردن فهرست" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:348 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:348 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:348 +msgid "Block" +msgstr "مسدود کردن" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:349 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:349 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:349 +#, php-format +msgid "Are you sure you want to delete user %s?" +msgstr "آیا شما مطمئنید که می خواهید %s را پاک کنید؟" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:350 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:350 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:350 +msgid "Filter Capabilities by Category" +msgstr "فیلترکردن قابلیت ها بر اساس دسته" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:351 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:351 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:351 +msgid "Inherit Capabilities" +msgstr "به ارث بردن قابلیت ها" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:352 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:352 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:352 +msgid "Add New Capability" +msgstr "افزودن قابلیت جدید" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:353 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:353 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:353 +#, php-format +msgid "Are you sure that you want to delete capability %s?" +msgstr "آیا شما مطمئنید که می خواهید قابلیت %s را پاک کنید؟" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:354 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:354 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:354 +msgid "Delete Capability" +msgstr "پاک کردن قابلیت" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:355 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:355 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:355 +msgid "Select Role" +msgstr "انتخاب قانون" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:356 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:356 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:356 +msgid "Add Capability" +msgstr "افزودن قابلیت" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:357 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:357 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:357 +msgid "Add Event" +msgstr "افزودن رویداد" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:358 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:358 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:358 +msgid "Edit Event" +msgstr "ویرایش رویداد" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:359 +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:361 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:359 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:361 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:359 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:361 +msgid "Delete Event" +msgstr "پاک کردن رویداد" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:360 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:360 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:360 +msgid "Save Event" +msgstr "ذخیره رویداد" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:362 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:362 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:362 +msgid "Filter Posts by Post Type" +msgstr "فیلتر کردن نوشته ها بر اساس پست تایپ" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:364 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:364 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:364 +msgid "Restore Default" +msgstr "بازگردانی به پیش فرض" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:365 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:365 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:365 +msgid "Apply" +msgstr "اعمال کردن" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:366 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:366 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:366 +msgid "Edit Term" +msgstr "ویرایش دوره" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:367 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:367 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:367 +msgid "Manager Access" +msgstr "دسترسی مدیریت" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:368 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:368 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:368 +msgid "Unlock Default Accesss Control" +msgstr "بازکردن کنترل دسترسی پیش فرض" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:369 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:369 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:369 +msgid "Close" +msgstr "بستن" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:370 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:370 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:370 +msgid "Edit Role" +msgstr "ویرایش قانون" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:371 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:371 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:371 +msgid "Restore Default Capabilities" +msgstr "بازگردانی قابلیت های پیش فرض" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:372 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:372 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:372 +#, php-format +msgid "Are you sure you want to delete %s?" +msgstr "آیا شما مطمئنید که می خواهید %s را پاک کنید؟" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:373 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:373 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:373 +#, php-format +msgid "Are you sure you want to move %s to trash?" +msgstr "آیا شما مطمئنید که می خواهید %s را به زباله دان انتقال دهید؟" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:374 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:374 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:374 +msgid "Delete Post" +msgstr "پاک کردن نوشته" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:375 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:375 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:375 +msgid "Delete Permanently" +msgstr "پاک کردن برای همیشه" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:376 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:376 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:376 +msgid "Trash Post" +msgstr "زباله دان نوشته" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/manager.php:377 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/manager.php:377 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/manager.php:377 +msgid "Restore Default Access" +msgstr "بازگردانی دسترسی پیش فرض" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/metabox.php:190 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/metabox.php:190 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/metabox.php:190 +msgid "Dashboard Widgets" +msgstr "ابزارک های پیشخوان" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/metabox.php:194 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/metabox.php:194 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/metabox.php:194 +msgid "Frontend Widgets" +msgstr "ابزارک های جلو" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/post.php:213 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/post.php:213 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/post.php:213 +msgid "[empty]" +msgstr "(خالی)" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/post.php:396 +#: C:\Users\Ghaem\Desktop\advanced-access-manager/application/view/post.php:404 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/post.php:396 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application/view/post.php:404 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/post.php:396 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\application\view/post.php:404 +msgid "All" +msgstr "همه" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/extension/AAM_Activity_Log/activity.php:98 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\extension\AAM_Activity_Log/activity.php:98 +msgid "System Login" +msgstr "ورود به سیستم" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/extension/AAM_Activity_Log/activity.php:102 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\extension\AAM_Activity_Log/activity.php:102 +msgid "System Logout" +msgstr "خروج از سیستم" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/extension/AAM_Activity_Log/activity.php:108 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\extension\AAM_Activity_Log/activity.php:108 +msgid "Unknown Activity" +msgstr "فعالیت ناشناخته" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/extension/AAM_Activity_Log/extension.php:112 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\extension\AAM_Activity_Log/extension.php:112 +msgid "Activity Log" +msgstr "گزارش فعالیت" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/extension/AAM_Activity_Log/extension.php:116 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\extension\AAM_Activity_Log/extension.php:116 +msgid "" +"Tracks User Activities like user login/logout or post changes. Check AAM " +"Activities Extension to get advanced list of possible activities." +msgstr "" +"ردیابی فعالیت های کاربر مانند ورود و خروج کاربر یا تغییرات کاربر. افزودنی " +"فعالیت های افزونه کنترل دسترسی پیشرفته را بررسی کنید تا فهرست پیشرفته از " +"فعالیت های ممکن را دریافت کنید." + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/extension/AAM_Activity_Log/extension.php:177 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\extension\AAM_Activity_Log/extension.php:177 +msgid "Clear Logs" +msgstr "پاک کردن گزارش ها" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/extension/AAM_Activity_Log/extension.php:178 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\extension\AAM_Activity_Log/extension.php:178 +msgid "Get More" +msgstr "بیشتر" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/extension/AAM_Multisite_Support/extension.php:125 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\extension\AAM_Multisite_Support/extension.php:125 +msgid "Sites" +msgstr "سایت ها" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/extension/AAM_Multisite_Support/extension.php:126 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\extension\AAM_Multisite_Support/extension.php:126 +msgid "Site Manager" +msgstr "مدیریت سایت" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/extension/AAM_Multisite_Support/extension.php:189 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\extension\AAM_Multisite_Support/extension.php:189 +msgid "Set Default" +msgstr "تنظیم پیش فرض" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/extension/AAM_Multisite_Support/extension.php:190 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\extension\AAM_Multisite_Support/extension.php:190 +msgid "Unset Default" +msgstr "تنظیم نکردن پیش فرض" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/extension/AAM_Multisite_Support/extension.php:191 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\extension\AAM_Multisite_Support/extension.php:191 +msgid "Set as Default" +msgstr "تنظیم به عنوان پیش فرض" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/extension/AAM_My_Feature/extension.php:50 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\extension\AAM_My_Feature/extension.php:50 +msgid "My Feature" +msgstr "ویژگی من" + +#: C:\Users\Ghaem\Desktop\advanced-access-manager/extension/AAM_My_Feature/extension.php:53 +#: C:\Users\Ghaem\Desktop\advanced-access-manager\extension\AAM_My_Feature/extension.php:53 +msgid "My customly developed feature" +msgstr "ویژگی دلخواه توسعه یافته من" diff --git a/wp-content/plugins/advanced-access-manager/lang/aam-fr_FR.mo b/wp-content/plugins/advanced-access-manager/lang/aam-fr_FR.mo new file mode 100644 index 0000000000000000000000000000000000000000..8203e57a527397fcbbb503c74c06f8fa60564338 GIT binary patch literal 7281 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/lang/aam-fr_FR.po b/wp-content/plugins/advanced-access-manager/lang/aam-fr_FR.po new file mode 100644 index 0000000..1a906ef --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/lang/aam-fr_FR.po @@ -0,0 +1,337 @@ +msgid "" +msgstr "" +"Project-Id-Version: AAM\n" +"POT-Creation-Date: 2013-12-01 14:07-0500\n" +"PO-Revision-Date: 2014-01-15 23:25+0100\n" +"Last-Translator: Moskito7 \n" +"Language-Team: WPAAM \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fr_FR\n" +"X-Generator: Poedit 1.5.4\n" + +#: aam.php:243 aam.php:248 aam.php:267 +msgid "Access denied" +msgstr "Accès refusé" + +#: aam.php:691 aam.php:692 +msgid "AAM" +msgstr "AAM" + +#: aam.php:701 aam.php:702 +msgid "Access Control" +msgstr "Contrôle d'accès" + +#: aam.php:709 aam.php:710 +msgid "Extensions" +msgstr "Extensions" + +#: application/view/capability.php:98 application/view/capability.php:179 +msgid "System" +msgstr "Système" + +#: application/view/capability.php:99 application/view/capability.php:181 +msgid "Post & Page" +msgstr "Articles et Pages" + +#: application/view/capability.php:100 application/view/capability.php:183 +msgid "Backend Interface" +msgstr "Interface d'administration" + +#: application/view/capability.php:101 +msgid "Miscellaneous" +msgstr "Divers" + +#: application/view/capability.php:185 +msgid "Miscelaneous" +msgstr "Divers" + +#: application/view/manager.php:59 +msgid "Roles" +msgstr "Rôles" + +#: application/view/manager.php:60 +msgid "Role Manager" +msgstr "Gestionnaire de rôle" + +#: application/view/manager.php:68 +msgid "Users" +msgstr "Utilisateurs" + +#: application/view/manager.php:69 +msgid "User Manager" +msgstr "Gestionnaire d'utilisateurs" + +#: application/view/manager.php:77 +msgid "Visitor" +msgstr "Visiteur" + +#: application/view/manager.php:78 +msgid "Visitor Manager" +msgstr "Gestionnaire de visiteurs" + +#: application/view/manager.php:95 +msgid "Admin Menu" +msgstr "Menu d'administration" + +#: application/view/manager.php:98 +msgid "" +"Control Access to Admin Menu. Restrict access to entire Menu or Submenu. " +"Notice, the menu is rendered based on Role's or User's capabilities." +msgstr "" +"Contrôler l'accès au menu d'administration. Restreindre l'accès au menu " +"entier ou à un sous-menu. Note, l'affichage des menus est basé sur le " +"rôle ou les capacités de l'utilisateur." + +#: application/view/manager.php:103 +msgid "Metabox & Widget" +msgstr "Métabox & Widget" + +#: application/view/manager.php:106 +msgid "" +"Filter the list of Metaboxes or Widgets for selected Role or User. If " +"metabox or widget is not listed, try to click Refresh the List button " +"or Copy & Paste direct link to page where specific metabox or widget is " +"shown and hit Retrieve Metaboxes from Link button." +msgstr "" +"Filtrer la liste des métabox ou widgets pour le rôle ou l'utilisateur " +"sélectionné. Si une métabox ou un widget n'est pas listé, essayez de cliquer " +"sur le bouton Rafraîchir la liste ou copier et coller directement le " +"lien vers la page où la métabox ou le widget est affiché et cliquez sur le " +"bouton Récupérer une métabox à partir d'un lien." + +#: application/view/manager.php:111 +msgid "Capability" +msgstr "Capacités" + +#: application/view/manager.php:114 +msgid "" +"Manage the list of Capabilities for selected User or Role. Notice, " +"list of user's capabilities are inherited from user's Role.
        Warning! Be very careful with capabilities. Deleting or unchecking any capability " +"may cause temporary or permanent constrol lost over some features or " +"WordPress dashboard." +msgstr "" +"Gérer la liste des capacités pour l'utilisateur ou le rôle sélectionné. " +"Note, la liste des capacités de l'utilisateur est héritée du rôle de " +"l'utilisateur.
        Attention ! Faites très attention avec les " +"capacités. Supprimer ou décocher n'importe quelle capacité pourrait " +"entrainer la perte temporaire ou définitive de certaines fonctionnalités ou " +"du tableau de bord de Wordpress." + +#: application/view/manager.php:119 +msgid "Posts & Categories" +msgstr "Articles et Catégories" + +#: application/view/manager.php:122 +msgid "" +"Manage access to individual Post or Term. Notice, under " +"Post, we assume any post, page or custom post type. And under " +"Term - any term like Post Categories." +msgstr "" +"Gérer l'accès individuellement aux articles ou termes. Note, " +"on entend par article n'importe quel article, page ou type d'article. " +"Et par terme n'importe quel élément comme des catégories d'articles." + +#: application/view/manager.php:127 +msgid "Event Manager" +msgstr "Gestionnaire d'événements" + +#: application/view/manager.php:130 +msgid "" +"Define your own action when some event appeared in your WordPress blog. This " +"sections allows you to trigger an action on event like post content change, " +"or page status update. You can setup to send email notification, change the " +"post status or write your own custom event handler." +msgstr "" +"Définir votre propre action lorsqu'un événement apparaît sur votre blog " +"WordPress. Cette section vous permet de déclencher une action sur un " +"événement comme le changement de contenu d'un article, ou une mise à jour de " +"l'état de la page. Vous pouvez configurer l'envoi d'une notification par E-" +"mail, la modification du statut de l'article ou écrire votre propre " +"gestionnaire d'événements." + +#: application/view/manager.php:135 +msgid "ConfigPress" +msgstr "ConfigPress" + +#: application/view/manager.php:138 +msgid "" +"Control AAM behavior with ConfigPress. For more details please check " +"ConfigPress tutorial." +msgstr "" +"Contrôler le comportement de AAM avec ConfigPress. Pour plus de " +"détails regardez le tutoriel ConfigPress." + +#: application/view/manager.php:342 +msgid "Rollback Settings" +msgstr "Rétablir les paramètres" + +#: application/view/manager.php:343 +msgid "Cancel" +msgstr "Annuler" + +#: application/view/manager.php:344 +msgid "Send E-mail" +msgstr "Envoyer un E-mail" + +#: application/view/manager.php:345 application/view/manager.php:351 +msgid "Add New Role" +msgstr "Ajouter un rôle" + +#: application/view/manager.php:346 +msgid "Manage" +msgstr "Gérer" + +#: application/view/manager.php:347 +msgid "Edit" +msgstr "Editer" + +#: application/view/manager.php:348 +msgid "Delete" +msgstr "Supprimer" + +#: application/view/manager.php:349 +msgid "Filtered" +msgstr "Filtré" + +#: application/view/manager.php:350 +msgid "Clear" +msgstr "Nettoyer" + +#: application/view/manager.php:352 +msgid "Save Changes" +msgstr "Sauvegarder les modifications" + +#: application/view/manager.php:353 +#, php-format +msgid "" +"System detected %d user(s) with this role. All Users with Role %s " +"will be deleted automatically!" +msgstr "" +"Le système a détecté %d utilisateur(s) avec ce rôle. Tous les utilisateurs " +"avec le rôle %s seront automatiquement supprimés !" + +#: application/view/manager.php:354 +#, php-format +msgid "Are you sure that you want to delete role %s?" +msgstr "Êtes-vous certain de vouloir supprimer %s ?" + +#: application/view/manager.php:355 +msgid "Delete Role" +msgstr "Supprimer le rôle" + +#: application/view/manager.php:356 +msgid "Add User" +msgstr "Ajouter un utilisateur" + +#: application/view/manager.php:357 +msgid "Filter Users" +msgstr "Filtrer les utilisateurs" + +#: application/view/manager.php:358 application/view/manager.php:374 +msgid "Refresh List" +msgstr "Rafraîchir la liste" + +#: application/view/manager.php:359 +msgid "Block" +msgstr "Bloquer" + +#: application/view/manager.php:360 +#, php-format +msgid "Are you sure you want to delete user %s?" +msgstr "Êtes-vous certain de vouloir supprimer l'utilisateur %s ?" + +#: application/view/manager.php:361 +msgid "Filter Capabilities by Category" +msgstr "Filtrer les capacités par catégorie" + +#: application/view/manager.php:362 +msgid "Inherit Capabilities" +msgstr "Capacités héritées" + +#: application/view/manager.php:363 +msgid "Add New Capability" +msgstr "Ajouter une nouvelle capacité" + +#: application/view/manager.php:364 +#, php-format +msgid "Are you sure that you want to delete capability %s?" +msgstr "Êtes-vous certain de vouloir supprimer la capacité %s ?" + +#: application/view/manager.php:365 +msgid "Delete Capability" +msgstr "Supprimer la capacité" + +#: application/view/manager.php:366 +msgid "Select Role" +msgstr "Sélectionner le rôle" + +#: application/view/manager.php:367 +msgid "Add Capability" +msgstr "Ajouter la capacité" + +#: application/view/manager.php:368 +msgid "Add Event" +msgstr "Ajouter un événement" + +#: application/view/manager.php:369 +msgid "Edit Event" +msgstr "Editer un événement" + +#: application/view/manager.php:370 application/view/manager.php:372 +msgid "Delete Event" +msgstr "Supprimer un événement" + +#: application/view/manager.php:371 +msgid "Save Event" +msgstr "Sauvegarder un événement" + +#: application/view/manager.php:373 +msgid "Filter Posts by Post Type" +msgstr "Filtrer les articles par type" + +#: application/view/manager.php:375 +msgid "Restore Default" +msgstr "Restaurer les paramètres par défaut" + +#: application/view/manager.php:376 +msgid "Apply" +msgstr "Appliquer" + +#: application/view/manager.php:377 +msgid "Edit Term" +msgstr "Editer les termes" + +#: application/view/manager.php:378 +msgid "Manager Access" +msgstr "Gestionnaire d'accès" + +#: application/view/manager.php:379 +msgid "Unlock Default Accesss Control" +msgstr "Déverrouiller le contrôle d'accès par défaut" + +#: application/view/manager.php:380 +msgid "Close" +msgstr "Fermer" + +#: application/view/manager.php:381 +msgid "Edit Role" +msgstr "Editer le rôle" + +#: application/view/metabox.php:179 +msgid "Dashboard Widgets" +msgstr "Widgets du tableau de bord" + +#: application/view/metabox.php:183 +msgid "Frontend Widgets" +msgstr "Widgets du site" + +#: application/view/post.php:181 +msgid "[empty]" +msgstr "[vide]" + +#: application/view/post.php:345 application/view/post.php:353 +msgid "All" +msgstr "Tout" diff --git a/wp-content/plugins/advanced-access-manager/lang/aam-nb_NO.mo b/wp-content/plugins/advanced-access-manager/lang/aam-nb_NO.mo new file mode 100644 index 0000000000000000000000000000000000000000..32608a49eb5b848d9a1cb1080d3bac95b56cea8a GIT binary patch literal 7698 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/lang/aam-pl_PL.mo b/wp-content/plugins/advanced-access-manager/lang/aam-pl_PL.mo new file mode 100644 index 0000000000000000000000000000000000000000..ef9a35688f7733e23f735fcfd50612da89f34a5d GIT binary patch literal 7697 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 NVcd&D?Crl`{s$tnBa;9C literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/lang/aam-pl_PL.po b/wp-content/plugins/advanced-access-manager/lang/aam-pl_PL.po new file mode 100644 index 0000000..b8cfb98 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/lang/aam-pl_PL.po @@ -0,0 +1,385 @@ +msgid "" +msgstr "" +"Project-Id-Version: AAM v2.2.2\n" +"POT-Creation-Date: 2014-01-23 20:56-0500\n" +"PO-Revision-Date: 2014-02-06 21:37+0100\n" +"Last-Translator: Gustaw Lasek \n" +"Language-Team: Servitium \n" +"Language: pl_PL\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#: aam.php:346 aam.php:351 aam.php:379 +msgid "Access denied" +msgstr "Brak dostępu" + +#: aam.php:833 aam.php:834 +msgid "AAM" +msgstr "AAM" + +#: aam.php:843 aam.php:844 +msgid "Access Control" +msgstr "Kontrola dostępu" + +#: aam.php:851 aam.php:852 +msgid "Extensions" +msgstr "Rozszerzenia" + +#: config.php:58 +msgid "wp-content folder is not writable or does not exists. " +msgstr "wp-content folder nie ma uparwnień do zapisu lub nie istnieje." + +#: config.php:60 +msgid "Read more." +msgstr "Czytaj więcej." + +#: config.php:85 +msgid "Migrate your old AAM settings to the new AAM platform. " +msgstr "" +"Migracja ustawień ze starych wersji AAM (do v1.9.1) do nowej wersji wtyczki " +"AAM." + +#: config.php:86 +msgid "Click to Migrate" +msgstr "Kliknij by migrować" + +#: application/view/capability.php:100 application/view/capability.php:199 +msgid "System" +msgstr "System" + +#: application/view/capability.php:101 application/view/capability.php:201 +msgid "Post & Page" +msgstr "Wpisy i Strony" + +#: application/view/capability.php:102 application/view/capability.php:203 +msgid "Backend Interface" +msgstr "Interfejs panelu zarządzania" + +#: application/view/capability.php:103 application/view/capability.php:205 +msgid "Miscellaneous" +msgstr "Pozostałe" + +#: application/view/manager.php:59 +msgid "Roles" +msgstr "Role" + +#: application/view/manager.php:60 +msgid "Role Manager" +msgstr "Zarządzanie rolami" + +#: application/view/manager.php:68 +msgid "Users" +msgstr "Użytkownicy" + +#: application/view/manager.php:69 +msgid "User Manager" +msgstr "Zarządzanie użytkownikami" + +#: application/view/manager.php:77 +msgid "Visitor" +msgstr "Gość" + +#: application/view/manager.php:78 +msgid "Visitor Manager" +msgstr "Zarządzaj gośćmi" + +#: application/view/manager.php:95 +msgid "Admin Menu" +msgstr "Admin Menu" + +#: application/view/manager.php:98 +msgid "" +"Control Access to Admin Menu. Restrict access to entire Menu or Submenu. " +"Notice, the menu is rendered based on Role's or User's capabilities." +msgstr "" +"Kontroluj dostęp do menu administracyjnego. Ogranicz dostęp do całych " +"pozycji menu lub do pozycji podmenu. Wskazówka menu jest dynamicznie " +"generowane zależnie od ról i uprawnień." + +#: application/view/manager.php:103 +msgid "Metabox & Widget" +msgstr "Metaboxy i Widżety" + +#: application/view/manager.php:106 +msgid "" +"Filter the list of Metaboxes or Widgets for selected Role or User. If " +"metabox or widget is not listed, try to click Refresh the List button " +"or Copy & Paste direct link to page where specific metabox or widget is " +"shown and hit Retrieve Metaboxes from Link button." +msgstr "" +"Filtruj listę Widżetów i Metaboksów dla wybranej roli lub użytkownika. " +"Jeżeli brakuje Metaboxów i/lub Widżetów na liście, kliknij ikonkę Odśwież " +"listę lub skopiuj i wklej bezpośredni odnośnik do strony, gdzie " +"wyświetlają się braujące Metaboksy i/lub Widżety i kliknij ikonkę plusa " +"Wczytaj elementy ze strony" + +#: application/view/manager.php:111 +msgid "Capability" +msgstr "Szczegółowe prawa" + +#: application/view/manager.php:114 +msgid "" +"Manage the list of Capabilities for selected User or Role. Notice, " +"list of user's capabilities are inherited from user's Role.
        Warning! Be very careful with capabilities. Deleting or unchecking any capability " +"may cause temporary or permanent constrol lost over some features or " +"WordPress dashboard." +msgstr "" +"Zarządzaj listą uprawnień dla wybranego użytkownia lub roli. Wskazówka Lista uprawnień jest dziedziczona z roli/ról uzytkownika. Ostrzeżenie!" +" Bądź ostrony z uprawnieniami. Usuwanie lub odbieranie uprawnień może " +"spowodować tymczasowy lub całkowity brak dostępu do panelu administracyjnego " +"WordPress." + +#: application/view/manager.php:119 +msgid "Posts & Categories" +msgstr "Wpisy i Kategorie" + +#: application/view/manager.php:122 +msgid "" +"Manage access to individual Post or Term. Notice, under " +"Post, we assume any post, page or custom post type. And under " +"Term - any term like Post Categories." +msgstr "" +"Zarządzaj dostępen do poszczególnych Wpisów i/lub Typów. " +"Wyjaśnienie, Wpisy rozumiane jako dowolne strony, wpisy lub " +"niestandardowe typy wpisów. Typy rozumiane jako dowolne kategorie." + +#: application/view/manager.php:127 +msgid "Event Manager" +msgstr "Menadżer reguł" + +#: application/view/manager.php:130 +msgid "" +"Define your own action when some event appeared in your WordPress blog. This " +"sections allows you to trigger an action on event like post content change, " +"or page status update. You can setup to send email notification, change the " +"post status or write your own custom event handler." +msgstr "" +"Zdefiniuj własną akcję dla zdarzeń wystepujących w Twoim WordPress. Ta " +"skecja pozwala ustawić akcję na jakieś zdarzenie np.: zmiana treści wpisu/" +"strony lub statusu. Możesz skonfigurować wysyłanie powiadomień email, " +"zmienić status wpisu/strony lub zdefiniować własną obsługę zdarzenia. " + +#: application/view/manager.php:135 +msgid "ConfigPress" +msgstr "Konfiguracja" + +#: application/view/manager.php:138 +msgid "" +"Control AAM behavior with ConfigPress. For more details please check " +"ConfigPress tutorial." +msgstr "" +"Konfiguruj AAM przez ConfigPress. Aby uzyskać więcej informacji " +"zapoznaj się poradnikiem ConfigPress." + +#: application/view/manager.php:339 +msgid "Rollback Settings" +msgstr "Wycofaj ustawienia" + +#: application/view/manager.php:340 +msgid "Cancel" +msgstr "Anuluj" + +#: application/view/manager.php:341 +msgid "Send E-mail" +msgstr "Wyślij E-mail" + +#: application/view/manager.php:342 application/view/manager.php:348 +msgid "Add New Role" +msgstr "Dodaj nową rolę" + +#: application/view/manager.php:343 +msgid "Manage" +msgstr "Zarządzaj/Edytuj" + +#: application/view/manager.php:344 +msgid "Edit" +msgstr "Edytuj" + +#: application/view/manager.php:345 +msgid "Delete" +msgstr "Usuń" + +#: application/view/manager.php:346 +msgid "Filtered" +msgstr "Przefiltrowane" + +#: application/view/manager.php:347 +msgid "Clear" +msgstr "Wyczyść" + +#: application/view/manager.php:349 +msgid "Save Changes" +msgstr "Zapisz zmiany" + +#: application/view/manager.php:350 +#, php-format +msgid "" +"System detected %d user(s) with this role. All Users with Role %s " +"will be deleted automatically!" +msgstr "" +"System wykrył użytkownika/ów z tej roli. Wszyscy użytkownicy z tą rolą " +"zostaną usunięci!" + +#: application/view/manager.php:351 +#, php-format +msgid "Are you sure that you want to delete role %s?" +msgstr "Czy na pewno chcesz usunąć rolę/e?" + +#: application/view/manager.php:352 +msgid "Delete Role" +msgstr "Usuń rolę" + +#: application/view/manager.php:353 +msgid "Add User" +msgstr "Dodaj użytkownika" + +#: application/view/manager.php:354 +msgid "Filter Users" +msgstr "FIltruj uzytkowników" + +#: application/view/manager.php:355 application/view/manager.php:371 +msgid "Refresh List" +msgstr "Odśwież listę" + +#: application/view/manager.php:356 +msgid "Block" +msgstr "Zablokuj" + +#: application/view/manager.php:357 +#, php-format +msgid "Are you sure you want to delete user %s?" +msgstr "Czy na pewno chcesz usunąć użytkownika/ów?" + +#: application/view/manager.php:358 +msgid "Filter Capabilities by Category" +msgstr "Filtruj prawa wg kategorii" + +#: application/view/manager.php:359 +msgid "Inherit Capabilities" +msgstr "Dziedzicz prawa" + +#: application/view/manager.php:360 +msgid "Add New Capability" +msgstr "Dodaj nowe prawo" + +#: application/view/manager.php:361 +#, php-format +msgid "Are you sure that you want to delete capability %s?" +msgstr "Czy na pewno chcesz usunąć pozycję/e?" + +#: application/view/manager.php:362 +msgid "Delete Capability" +msgstr "Usuń pozycję" + +#: application/view/manager.php:363 +msgid "Select Role" +msgstr "Wybierz rolę" + +#: application/view/manager.php:364 +msgid "Add Capability" +msgstr "Dodaj pozycję" + +#: application/view/manager.php:365 +msgid "Add Event" +msgstr "Dodaj regułę" + +#: application/view/manager.php:366 +msgid "Edit Event" +msgstr "Edytuj regułę" + +#: application/view/manager.php:367 application/view/manager.php:369 +msgid "Delete Event" +msgstr "Usuń regułę" + +#: application/view/manager.php:368 +msgid "Save Event" +msgstr "Zapisz regułę" + +#: application/view/manager.php:370 +msgid "Filter Posts by Post Type" +msgstr "Filtruj wpisy typy wpisów" + +#: application/view/manager.php:372 +msgid "Restore Default" +msgstr "Przywróć domyślne" + +#: application/view/manager.php:373 +msgid "Apply" +msgstr "Zastosuj" + +#: application/view/manager.php:374 +msgid "Edit Term" +msgstr "Edytuj termin" + +#: application/view/manager.php:375 +msgid "Manager Access" +msgstr "Menadżer dostępu" + +#: application/view/manager.php:376 +msgid "Unlock Default Accesss Control" +msgstr "Odblokuj domyślną kontrolę dostępu" + +#: application/view/manager.php:377 +msgid "Close" +msgstr "Zamknij" + +#: application/view/manager.php:378 +msgid "Edit Role" +msgstr "Edytuj rolę" + +#: application/view/manager.php:379 +msgid "Restore Default Capabilities" +msgstr "Przywróć domyślne" + +#: application/view/metabox.php:185 +msgid "Dashboard Widgets" +msgstr "Widżety panelu" + +#: application/view/metabox.php:189 +msgid "Frontend Widgets" +msgstr "Widżety strony" + +#: application/view/post.php:181 +msgid "[empty]" +msgstr "[puste]" + +#: application/view/post.php:345 application/view/post.php:353 +msgid "All" +msgstr "Wszystkie" + +#: extension/AAM_Multisite_Support/extension.php:125 +msgid "Sites" +msgstr "Strony" + +#: extension/AAM_Multisite_Support/extension.php:126 +msgid "Site Manager" +msgstr "Zarządzanie stroną" + +#: extension/AAM_Multisite_Support/extension.php:189 +msgid "Set Default" +msgstr "Ustaw domyślne" + +#: extension/AAM_Multisite_Support/extension.php:190 +msgid "Unset Default" +msgstr "Odznacz domyślne" + +#: extension/AAM_Multisite_Support/extension.php:191 +msgid "Set as Default" +msgstr "Zaznacz jako domyślne" + +#: extension/AAM_My_Feature/extension.php:50 +msgid "My Feature" +msgstr "Moje funckcje" + +#: extension/AAM_My_Feature/extension.php:53 +msgid "My customly developed feature" +msgstr "Własna funkcjonalność" + +#~ msgid "Miscelaneous" +#~ msgstr "Pozostałe" diff --git a/wp-content/plugins/advanced-access-manager/lang/aam-ru_RU.mo b/wp-content/plugins/advanced-access-manager/lang/aam-ru_RU.mo new file mode 100644 index 0000000000000000000000000000000000000000..d3a567a29c5757a00d54838825223f5e054d061e GIT binary patch literal 8881 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 Q&yv)mDjBnW?UTX(0)2u^#Q*>R literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/lang/aam-ru_RU.po b/wp-content/plugins/advanced-access-manager/lang/aam-ru_RU.po new file mode 100644 index 0000000..68f992c --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/lang/aam-ru_RU.po @@ -0,0 +1,334 @@ +msgid "" +msgstr "" +"Project-Id-Version: AAM\n" +"POT-Creation-Date: 2013-12-01 14:07-0500\n" +"PO-Revision-Date: 2014-01-31 21:24+0400\n" +"Last-Translator: Maxim Kernozhitskiy \n" +"Language-Team: WPAAM \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: en_US\n" +"X-Generator: Poedit 1.5.7\n" + +#: aam.php:243 aam.php:248 aam.php:267 +msgid "Access denied" +msgstr "Доступ запрещен" + +#: aam.php:691 aam.php:692 +msgid "AAM" +msgstr "AAM" + +#: aam.php:701 aam.php:702 +msgid "Access Control" +msgstr "Контроль доступа" + +#: aam.php:709 aam.php:710 +msgid "Extensions" +msgstr "Расширение" + +#: application/view/capability.php:98 application/view/capability.php:179 +msgid "System" +msgstr "Система" + +#: application/view/capability.php:99 application/view/capability.php:181 +msgid "Post & Page" +msgstr "Пост и Страница" + +#: application/view/capability.php:100 application/view/capability.php:183 +msgid "Backend Interface" +msgstr "Интерфейс Админа" + +#: application/view/capability.php:101 +msgid "Miscellaneous" +msgstr "Разное" + +#: application/view/capability.php:185 +msgid "Miscelaneous" +msgstr "Разное" + +#: application/view/manager.php:59 +msgid "Roles" +msgstr "Роли" + +#: application/view/manager.php:60 +msgid "Role Manager" +msgstr "Менеджер ролей" + +#: application/view/manager.php:68 +msgid "Users" +msgstr "Пользователи" + +#: application/view/manager.php:69 +msgid "User Manager" +msgstr "Менеджер пользователей" + +#: application/view/manager.php:77 +msgid "Visitor" +msgstr "Посетители" + +#: application/view/manager.php:78 +msgid "Visitor Manager" +msgstr "Менеджер посетителей" + +#: application/view/manager.php:95 +msgid "Admin Menu" +msgstr "Меню Админа" + +#: application/view/manager.php:98 +msgid "" +"Control Access to Admin Menu. Restrict access to entire Menu or Submenu. " +"Notice, the menu is rendered based on Role's or User's capabilities." +msgstr "" +"Контроль доступа к меню Администратора. Запретить доступ ко всему меню или в " +"подменю. Внимание, меню отображается основываясь на Роли или доступе " +"пользователя." + +#: application/view/manager.php:103 +msgid "Metabox & Widget" +msgstr "Виджеты и Метабоксы" + +#: application/view/manager.php:106 +msgid "" +"Filter the list of Metaboxes or Widgets for selected Role or User. If " +"metabox or widget is not listed, try to click Refresh the List button " +"or Copy & Paste direct link to page where specific metabox or widget is " +"shown and hit Retrieve Metaboxes from Link button." +msgstr "" +"Фильтрует лист Виджетов или Метабоксов для выбранной Роли Пользователя. Если " +"метабокс или виджет не в списке попробуйте нажать кнопку Обновить список или скопировать и вставить прямую ссылку на страницу, где показан " +"метабокс или виджет и нажать кнопку Извлеч Метабоксы из ссылки" + +#: application/view/manager.php:111 +msgid "Capability" +msgstr "Возможность" + +#: application/view/manager.php:114 +msgid "" +"Manage the list of Capabilities for selected User or Role. Notice, " +"list of user's capabilities are inherited from user's Role.
        Warning! Be very careful with capabilities. Deleting or unchecking any capability " +"may cause temporary or permanent constrol lost over some features or " +"WordPress dashboard." +msgstr "" +"Управляйте листом возможностей для выбранных Пользователя или Роли. " +"Внимание, лист пользовательских возможностей унаследован от Роли " +"пользователя.
        ВНИМАНИЕ! будьте осторожны с возможностями. " +"Удаление или снятие некоторых возможностей пользователя может привести к " +"временной, либо постоянной потере контроля над некоторыми функциями " +"Wordpress." + +#: application/view/manager.php:119 +msgid "Posts & Categories" +msgstr "Посты и Категории" + +#: application/view/manager.php:122 +msgid "" +"Manage access to individual Post or Term. Notice, under " +"Post, we assume any post, page or custom post type. And under " +"Term - any term like Post Categories." +msgstr "" +"Управляйте доступом к индивидуальным Постам или Терминам. " +"Понятие Пост в данном случае - любой пост, страница или Собственный " +"тип поста. А под Термином - любой термин типа Категории поста." + +#: application/view/manager.php:127 +msgid "Event Manager" +msgstr "Менеджер событий" + +#: application/view/manager.php:130 +msgid "" +"Define your own action when some event appeared in your WordPress blog. This " +"sections allows you to trigger an action on event like post content change, " +"or page status update. You can setup to send email notification, change the " +"post status or write your own custom event handler." +msgstr "" +"Укажите ваше собственное действие, когда происходит некоторое событие в " +"Wordpress. Эта секция позволяет вам отрабатывать действие или даже изменение " +"контента, или изменение статуса страницы. Вы можете отправлять уведомления " +"на email, менять статус поста или написать свой собственный обработчик." + +#: application/view/manager.php:135 +msgid "ConfigPress" +msgstr "ConfigPress" + +#: application/view/manager.php:138 +msgid "" +"Control AAM behavior with ConfigPress. For more details please check " +"ConfigPress tutorial." +msgstr "" +"Контролируйте поведение AAM с ConfigPress. Для подробностей " +"посмотрите ConfigPress туториал." + +#: application/view/manager.php:342 +msgid "Rollback Settings" +msgstr "Настройки Rollback" + +#: application/view/manager.php:343 +msgid "Cancel" +msgstr "Отменить" + +#: application/view/manager.php:344 +msgid "Send E-mail" +msgstr "Отправить E-mail" + +#: application/view/manager.php:345 application/view/manager.php:351 +msgid "Add New Role" +msgstr "Добавить Роль" + +#: application/view/manager.php:346 +msgid "Manage" +msgstr "Управление" + +#: application/view/manager.php:347 +msgid "Edit" +msgstr "Редактировать" + +#: application/view/manager.php:348 +msgid "Delete" +msgstr "Удалить" + +#: application/view/manager.php:349 +msgid "Filtered" +msgstr "Фильтровано" + +#: application/view/manager.php:350 +msgid "Clear" +msgstr "Отчистить" + +#: application/view/manager.php:352 +msgid "Save Changes" +msgstr "Сохранить изменения" + +#: application/view/manager.php:353 +#, php-format +msgid "" +"System detected %d user(s) with this role. All Users with Role %s " +"will be deleted automatically!" +msgstr "" +"Система определила %d пользователя(лей) с этой ролью. Все Пользователи с " +"Ролью %s будут удалены автоматически!" + +#: application/view/manager.php:354 +#, php-format +msgid "Are you sure that you want to delete role %s?" +msgstr "Вы уверены, что хотите удалить роль %s?" + +#: application/view/manager.php:355 +msgid "Delete Role" +msgstr "Удалить Роль" + +#: application/view/manager.php:356 +msgid "Add User" +msgstr "Добавить пользователя" + +#: application/view/manager.php:357 +msgid "Filter Users" +msgstr "Фильтр пользователей" + +#: application/view/manager.php:358 application/view/manager.php:374 +msgid "Refresh List" +msgstr "Обновить список" + +#: application/view/manager.php:359 +msgid "Block" +msgstr "Заблокировать" + +#: application/view/manager.php:360 +#, php-format +msgid "Are you sure you want to delete user %s?" +msgstr "Вы уверены, что хотите удалить пользователя %s?" + +#: application/view/manager.php:361 +msgid "Filter Capabilities by Category" +msgstr "Фильтр возможностей по категории" + +#: application/view/manager.php:362 +msgid "Inherit Capabilities" +msgstr "Назледовать возможности" + +#: application/view/manager.php:363 +msgid "Add New Capability" +msgstr "Добавить новую возможность" + +#: application/view/manager.php:364 +#, php-format +msgid "Are you sure that you want to delete capability %s?" +msgstr "Вы уверены, что хотите удалить возможность %s?" + +#: application/view/manager.php:365 +msgid "Delete Capability" +msgstr "Удалить возможность" + +#: application/view/manager.php:366 +msgid "Select Role" +msgstr "Выбрать роль" + +#: application/view/manager.php:367 +msgid "Add Capability" +msgstr "Добавить возможность" + +#: application/view/manager.php:368 +msgid "Add Event" +msgstr "Добавить событие" + +#: application/view/manager.php:369 +msgid "Edit Event" +msgstr "Редактировать событие" + +#: application/view/manager.php:370 application/view/manager.php:372 +msgid "Delete Event" +msgstr "Удалить событие" + +#: application/view/manager.php:371 +msgid "Save Event" +msgstr "Сохранить событие" + +#: application/view/manager.php:373 +msgid "Filter Posts by Post Type" +msgstr "Фильтр постов по Типу" + +#: application/view/manager.php:375 +msgid "Restore Default" +msgstr "Сбросить настройки" + +#: application/view/manager.php:376 +msgid "Apply" +msgstr "Применить" + +#: application/view/manager.php:377 +msgid "Edit Term" +msgstr "Редактировать Термин" + +#: application/view/manager.php:378 +msgid "Manager Access" +msgstr "Диспетчер доступу" + +#: application/view/manager.php:379 +msgid "Unlock Default Accesss Control" +msgstr "Разблокировать стандартный контроль доступа" + +#: application/view/manager.php:380 +msgid "Close" +msgstr "Закрыть" + +#: application/view/manager.php:381 +msgid "Edit Role" +msgstr "Редактировать роль" + +#: application/view/metabox.php:179 +msgid "Dashboard Widgets" +msgstr "Панель виджетов" + +#: application/view/metabox.php:183 +msgid "Frontend Widgets" +msgstr "Frontend виджеты" + +#: application/view/post.php:181 +msgid "[empty]" +msgstr "[пусто]" + +#: application/view/post.php:345 application/view/post.php:353 +msgid "All" +msgstr "Все" diff --git a/wp-content/plugins/advanced-access-manager/lang/aam.mo b/wp-content/plugins/advanced-access-manager/lang/aam.mo new file mode 100644 index 0000000000000000000000000000000000000000..b0cc144cce1aa5fae2a07f73da754040ff9ce216 GIT binary patch literal 543 zcmaJ-O-}+b5XI)oF5D<|);73*{|9Desz! zHaB9%Zj{L_2dRIrwq0#OnYIrl?6)C2YSEBV$%blf66}@^IFuIF-8)<@lu2zrvyQ`f zywP0>i(0rThm^-lk!u}KU8)ir)6c~V&64uDF|D3tvMg`pLlh>NMl^s09DJ|x1I4YS AJpcdz literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/lang/aam.pot b/wp-content/plugins/advanced-access-manager/lang/aam.pot new file mode 100644 index 0000000..d031cee --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/lang/aam.pot @@ -0,0 +1,850 @@ +msgid "" +msgstr "" +"Project-Id-Version: AAM\n" +"POT-Creation-Date: 2014-05-04 19:41-0500\n" +"PO-Revision-Date: \n" +"Last-Translator: WPAAM \n" +"Language-Team: WP AAM \n" +"Language: en\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.6.5\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Poedit-SourceCharset: UTF-8\n" +"X-Poedit-KeywordsList: __\n" +"X-Poedit-Basepath: d:\\xampp\\htdocs\\aam\\wp-content\\plugins\\aam\\\n" +"X-Poedit-SearchPath-0: .\n" + +#: aam.php:404 aam.php:412 aam.php:439 +msgid "Access denied" +msgstr "" + +#: aam.php:927 aam.php:928 +msgid "AAM" +msgstr "" + +#: aam.php:939 aam.php:940 +msgid "Access Control" +msgstr "" + +#: aam.php:949 aam.php:950 +msgid "ConfigPress" +msgstr "" + +#: aam.php:959 aam.php:960 +msgid "Extensions" +msgstr "" + +#: application/core/repository.php:261 +msgid "Failed to Remove Extension" +msgstr "" + +#: application/core/repository.php:306 +msgid "Invalid License Key" +msgstr "" + +#: application/core/repository.php:309 +msgid "Failed to write file to wp-content/aam folder" +msgstr "" + +#: application/core/repository.php:313 +msgid "Failed to reach the WPAAM Server" +msgstr "" + +#: application/core/repository.php:329 +msgid "Failed to insert extension to extension folder" +msgstr "" + +#: application/view/abstract.php:81 +msgid "You are not allowed to manager current view" +msgstr "" + +#: application/view/capability.php:101 application/view/capability.php:205 +msgid "System" +msgstr "" + +#: application/view/capability.php:102 application/view/capability.php:207 +msgid "Post & Page" +msgstr "" + +#: application/view/capability.php:103 application/view/capability.php:209 +msgid "Backend Interface" +msgstr "" + +#: application/view/capability.php:104 application/view/capability.php:211 +msgid "Miscellaneous" +msgstr "" + +#: application/view/extension.php:100 +msgid "Folder advanced-access-manager/extension is not writable" +msgstr "" + +#: application/view/manager.php:76 +msgid "Roles" +msgstr "" + +#: application/view/manager.php:77 +msgid "Role Manager" +msgstr "" + +#: application/view/manager.php:86 +msgid "Users" +msgstr "" + +#: application/view/manager.php:87 +msgid "User Manager" +msgstr "" + +#: application/view/manager.php:96 +msgid "Visitor" +msgstr "" + +#: application/view/manager.php:97 +msgid "Visitor Manager" +msgstr "" + +#: application/view/manager.php:120 +msgid "Admin Menu" +msgstr "" + +#: application/view/manager.php:132 +msgid "Metabox & Widget" +msgstr "" + +#: application/view/manager.php:145 application/view/tmpl/capability.phtml:17 +#: application/view/tmpl/control_area.phtml:47 +#: application/view/tmpl/control_area.phtml:94 +#: application/view/tmpl/control_area.phtml:148 +#: application/view/tmpl/control_area.phtml:199 +#: extension/AAM_Plus_Package/ui.phtml:28 +#: extension/AAM_Plus_Package/ui.phtml:60 +#: extension/AAM_Plus_Package/ui.phtml:93 +#: extension/AAM_Plus_Package/ui.phtml:125 +msgid "Capability" +msgstr "" + +#: application/view/manager.php:156 +msgid "Posts & Pages" +msgstr "" + +#: application/view/manager.php:169 +msgid "Event Manager" +msgstr "" + +#: application/view/manager.php:241 +msgid "You are not allowed to manage any AAM Features." +msgstr "" + +#: application/view/manager.php:820 +msgid "Rollback Settings" +msgstr "" + +#: application/view/manager.php:821 +msgid "Cancel" +msgstr "" + +#: application/view/manager.php:822 +msgid "Send E-mail" +msgstr "" + +#: application/view/manager.php:823 application/view/manager.php:829 +msgid "Add New Role" +msgstr "" + +#: application/view/manager.php:824 +msgid "Manage" +msgstr "" + +#: application/view/manager.php:825 +msgid "Edit" +msgstr "" + +#: application/view/manager.php:826 +msgid "Delete" +msgstr "" + +#: application/view/manager.php:827 +msgid "Filtered" +msgstr "" + +#: application/view/manager.php:828 +msgid "Clear" +msgstr "" + +#: application/view/manager.php:830 +msgid "Save Changes" +msgstr "" + +#: application/view/manager.php:831 +#, php-format +msgid "" +"System detected %d user(s) with this role. All Users with Role %s " +"will be deleted automatically!" +msgstr "" + +#: application/view/manager.php:832 +#, php-format +msgid "Are you sure that you want to delete role %s?" +msgstr "" + +#: application/view/manager.php:833 application/view/tmpl/role.phtml:53 +msgid "Delete Role" +msgstr "" + +#: application/view/manager.php:834 +msgid "Add User" +msgstr "" + +#: application/view/manager.php:835 +msgid "Filter Users" +msgstr "" + +#: application/view/manager.php:836 application/view/manager.php:852 +msgid "Refresh List" +msgstr "" + +#: application/view/manager.php:837 +msgid "Block" +msgstr "" + +#: application/view/manager.php:838 +#, php-format +msgid "Are you sure you want to delete user %s?" +msgstr "" + +#: application/view/manager.php:839 +msgid "Filter Capabilities by Category" +msgstr "" + +#: application/view/manager.php:840 application/view/tmpl/capability.phtml:47 +msgid "Inherit Capabilities" +msgstr "" + +#: application/view/manager.php:841 application/view/tmpl/capability.phtml:62 +msgid "Add New Capability" +msgstr "" + +#: application/view/manager.php:842 +#, php-format +msgid "Are you sure that you want to delete capability %s?" +msgstr "" + +#: application/view/manager.php:843 application/view/tmpl/capability.phtml:81 +msgid "Delete Capability" +msgstr "" + +#: application/view/manager.php:844 +msgid "Select Role" +msgstr "" + +#: application/view/manager.php:845 +msgid "Add Capability" +msgstr "" + +#: application/view/manager.php:846 +msgid "Add Event" +msgstr "" + +#: application/view/manager.php:847 +msgid "Edit Event" +msgstr "" + +#: application/view/manager.php:848 application/view/manager.php:850 +#: application/view/tmpl/event.phtml:105 +msgid "Delete Event" +msgstr "" + +#: application/view/manager.php:849 +msgid "Save Event" +msgstr "" + +#: application/view/manager.php:851 +msgid "Filter Posts by Post Type" +msgstr "" + +#: application/view/manager.php:853 application/view/tmpl/manager.phtml:63 +msgid "Restore Default" +msgstr "" + +#: application/view/manager.php:854 +msgid "Apply" +msgstr "" + +#: application/view/manager.php:855 +msgid "Edit Term" +msgstr "" + +#: application/view/manager.php:856 +msgid "Manager Access" +msgstr "" + +#: application/view/manager.php:857 +msgid "Unlock Default Accesss Control" +msgstr "" + +#: application/view/manager.php:858 +msgid "Close" +msgstr "" + +#: application/view/manager.php:859 +msgid "Edit Role" +msgstr "" + +#: application/view/manager.php:860 +msgid "Restore Default Capabilities" +msgstr "" + +#: application/view/manager.php:861 +#, php-format +msgid "Are you sure you want to delete %s?" +msgstr "" + +#: application/view/manager.php:862 +#, php-format +msgid "Are you sure you want to move %s to trash?" +msgstr "" + +#: application/view/manager.php:863 application/view/tmpl/post.phtml:27 +msgid "Delete Post" +msgstr "" + +#: application/view/manager.php:864 +msgid "Delete Permanently" +msgstr "" + +#: application/view/manager.php:865 +msgid "Trash Post" +msgstr "" + +#: application/view/manager.php:866 +msgid "Restore Default Access" +msgstr "" + +#: application/view/manager.php:867 +msgid "Duplicate" +msgstr "" + +#: application/view/manager.php:868 +msgid "Actions Locked" +msgstr "" + +#: application/view/manager.php:869 +msgid "" +"

        AAM Documentation

        Find more information about " +"Advanced Access Manager here.
        " +msgstr "" + +#: application/view/metabox.php:191 +msgid "Dashboard Widgets" +msgstr "" + +#: application/view/metabox.php:195 +msgid "Frontend Widgets" +msgstr "" + +#: application/view/post.php:199 +msgid "[empty]" +msgstr "" + +#: application/view/post.php:383 application/view/post.php:391 +msgid "All" +msgstr "" + +#: config.php:62 +msgid "Failed to create wp-content/aam folder" +msgstr "" + +#: config.php:65 +msgid "Folder wp-content/aam is not writable" +msgstr "" + +#: extension/AAM_Activity_Log/activity.php:98 +msgid "System Login" +msgstr "" + +#: extension/AAM_Activity_Log/activity.php:102 +msgid "System Logout" +msgstr "" + +#: extension/AAM_Activity_Log/activity.php:108 +msgid "Unknown Activity" +msgstr "" + +#: extension/AAM_Activity_Log/extension.php:72 +msgid "Activity Log" +msgstr "" + +#: extension/AAM_Activity_Log/extension.php:177 +msgid "Clear Logs" +msgstr "" + +#: extension/AAM_Activity_Log/extension.php:178 +msgid "Get More" +msgstr "" + +#: extension/AAM_Multisite_Support/extension.php:122 +msgid "Sites" +msgstr "" + +#: extension/AAM_Multisite_Support/extension.php:123 +msgid "Site Manager" +msgstr "" + +#: extension/AAM_Multisite_Support/extension.php:186 +msgid "Set Default" +msgstr "" + +#: extension/AAM_Multisite_Support/extension.php:187 +msgid "Unset Default" +msgstr "" + +#: extension/AAM_Multisite_Support/extension.php:188 +msgid "Set as Default" +msgstr "" + +#: extension/AAM_My_Feature/extension.php:56 +msgid "My Feature" +msgstr "" + +#: extension/AAM_Plus_Package/extension.php:168 +msgid "Comments" +msgstr "" + +#: application/view/tmpl/capability.phtml:16 +msgid "Category" +msgstr "" + +#: application/view/tmpl/capability.phtml:18 +#: application/view/tmpl/event.phtml:19 application/view/tmpl/post.phtml:19 +msgid "Control" +msgstr "" + +#: application/view/tmpl/capability.phtml:24 +msgid "Filter Capability List" +msgstr "" + +#: application/view/tmpl/capability.phtml:28 +msgid "Group Name" +msgstr "" + +#: application/view/tmpl/capability.phtml:29 +msgid "Select" +msgstr "" + +#: application/view/tmpl/capability.phtml:53 +#: application/view/tmpl/role.phtml:27 application/view/tmpl/role.phtml:46 +#: application/view/tmpl/user.phtml:31 +msgid "Role Name" +msgstr "" + +#: application/view/tmpl/capability.phtml:54 +#: application/view/tmpl/event.phtml:17 application/view/tmpl/event.phtml:65 +#: application/view/tmpl/role.phtml:17 application/view/tmpl/user.phtml:17 +#: application/view/tmpl/user.phtml:32 +#: extension/AAM_Multisite_Support/ui.phtml:18 +msgid "Action" +msgstr "" + +#: application/view/tmpl/capability.phtml:66 +msgid "Capability Name" +msgstr "" + +#: application/view/tmpl/capability.phtml:70 +msgid "Keep Unfiltered" +msgstr "" + +#: application/view/tmpl/configpress.phtml:15 +#: application/view/tmpl/configpress.phtml:34 +#: application/view/tmpl/configpress.phtml:53 +#: application/view/tmpl/extension.phtml:15 +#: application/view/tmpl/extension.phtml:148 +#: application/view/tmpl/extension.phtml:167 +#: application/view/tmpl/extension.phtml:187 +#: application/view/tmpl/manager.phtml:17 +#: application/view/tmpl/manager.phtml:38 +#: application/view/tmpl/manager.phtml:57 +#: application/view/tmpl/manager.phtml:87 +msgid "Click to toggle" +msgstr "" + +#: application/view/tmpl/configpress.phtml:18 +msgid "AAM ConfigPress" +msgstr "" + +#: application/view/tmpl/configpress.phtml:36 +#: application/view/tmpl/extension.phtml:150 +#: application/view/tmpl/manager.phtml:40 +msgid "AAM Warnings" +msgstr "" + +#: application/view/tmpl/configpress.phtml:55 +#: application/view/tmpl/manager.phtml:59 +msgid "Control Panel" +msgstr "" + +#: application/view/tmpl/configpress.phtml:59 +#: application/view/tmpl/manager.phtml:64 +msgid "Save" +msgstr "" + +#: application/view/tmpl/configpress.phtml:62 +#: application/view/tmpl/manager.phtml:67 +msgid "Follow @wpaam" +msgstr "" + +#: application/view/tmpl/configpress.phtml:62 +#: application/view/tmpl/manager.phtml:67 +msgid "Follow" +msgstr "" + +#: application/view/tmpl/configpress.phtml:63 +#: application/view/tmpl/manager.phtml:68 +msgid "Help Forum" +msgstr "" + +#: application/view/tmpl/configpress.phtml:63 +#: application/view/tmpl/manager.phtml:68 +msgid "Help" +msgstr "" + +#: application/view/tmpl/configpress.phtml:64 +#: application/view/tmpl/manager.phtml:69 +#: application/view/tmpl/manager.phtml:77 +msgid "E-mail Us" +msgstr "" + +#: application/view/tmpl/configpress.phtml:65 +#: application/view/tmpl/manager.phtml:70 +msgid "Rate AAM" +msgstr "" + +#: application/view/tmpl/configpress.phtml:65 +#: application/view/tmpl/manager.phtml:70 +msgid "Rate Us" +msgstr "" + +#: application/view/tmpl/control_area.phtml:43 +#: application/view/tmpl/control_area.phtml:90 +#: application/view/tmpl/control_area.phtml:142 +#: application/view/tmpl/control_area.phtml:193 +msgid "Access" +msgstr "" + +#: application/view/tmpl/control_area.phtml:48 +#: application/view/tmpl/control_area.phtml:95 +#: application/view/tmpl/control_area.phtml:149 +#: application/view/tmpl/control_area.phtml:200 +#: extension/AAM_Plus_Package/ui.phtml:29 +#: extension/AAM_Plus_Package/ui.phtml:61 +#: extension/AAM_Plus_Package/ui.phtml:94 +#: extension/AAM_Plus_Package/ui.phtml:126 +msgid "Restrict" +msgstr "" + +#: application/view/tmpl/control_area.phtml:140 +#: application/view/tmpl/control_area.phtml:191 +#, php-format +msgid "All %s in Term" +msgstr "" + +#: application/view/tmpl/control_area.phtml:239 +msgid "Get AAM Plus Package" +msgstr "" + +#: application/view/tmpl/event.phtml:14 application/view/tmpl/event.phtml:28 +msgid "Event" +msgstr "" + +#: application/view/tmpl/event.phtml:15 +msgid "Event Specifier" +msgstr "" + +#: application/view/tmpl/event.phtml:16 +msgid "Bind Post Type" +msgstr "" + +#: application/view/tmpl/event.phtml:18 +msgid "Action Specifier" +msgstr "" + +#: application/view/tmpl/event.phtml:24 +msgid "Manager Event" +msgstr "" + +#: application/view/tmpl/event.phtml:31 +msgid "Post Status Change" +msgstr "" + +#: application/view/tmpl/event.phtml:32 +msgid "Post Content Change" +msgstr "" + +#: application/view/tmpl/event.phtml:37 +msgid "Status Changed To" +msgstr "" + +#: application/view/tmpl/event.phtml:52 +msgid "Bind to Post Type" +msgstr "" + +#: application/view/tmpl/event.phtml:68 +msgid "Email Notification" +msgstr "" + +#: application/view/tmpl/event.phtml:69 +msgid "Change Status" +msgstr "" + +#: application/view/tmpl/event.phtml:70 +msgid "Callback" +msgstr "" + +#: application/view/tmpl/event.phtml:75 +msgid "Email Address" +msgstr "" + +#: application/view/tmpl/event.phtml:81 +msgid "Change Status To" +msgstr "" + +#: application/view/tmpl/event.phtml:96 +msgid "Callback Function" +msgstr "" + +#: application/view/tmpl/event.phtml:106 +msgid "Are you sure you want to delete selected Event?" +msgstr "" + +#: application/view/tmpl/extension.phtml:18 +msgid "Extension List" +msgstr "" + +#: application/view/tmpl/extension.phtml:25 +#: application/view/tmpl/post.phtml:17 +msgid "Name" +msgstr "" + +#: application/view/tmpl/extension.phtml:26 +msgid "Description" +msgstr "" + +#: application/view/tmpl/extension.phtml:27 +msgid "Price" +msgstr "" + +#: application/view/tmpl/extension.phtml:28 +msgid "Actions" +msgstr "" + +#: application/view/tmpl/extension.phtml:123 +msgid "Install Extension" +msgstr "" + +#: application/view/tmpl/extension.phtml:125 +msgid "" +"If you already have license key for current extension, please enter it " +"below. Othewise click Purchase button to checkout your order." +msgstr "" + +#: application/view/tmpl/extension.phtml:130 +msgid "Update Extension" +msgstr "" + +#: application/view/tmpl/extension.phtml:132 +msgid "Extension has been installed. Your license key: " +msgstr "" + +#: application/view/tmpl/extension.phtml:169 +msgid "Connect with AAM" +msgstr "" + +#: application/view/tmpl/extension.phtml:189 +msgid "Development License" +msgstr "" + +#: application/view/tmpl/extension.phtml:193 +msgid "" +"Become a member of AAM Community. Obtain Development License " +"today for $119 and get access to all extensions that are available today and " +"will be developed witin a year." +msgstr "" + +#: application/view/tmpl/extension.phtml:196 +msgid "Read More" +msgstr "" + +#: application/view/tmpl/manager.phtml:63 +msgid "Default" +msgstr "" + +#: application/view/tmpl/manager.phtml:74 +msgid "Undo Change" +msgstr "" + +#: application/view/tmpl/manager.phtml:75 +msgid "Would your like to role back current settings?" +msgstr "" + +#: application/view/tmpl/manager.phtml:78 +msgid "Our E-mail address is support@wpaam.com" +msgstr "" + +#: application/view/tmpl/manager.phtml:89 +msgid "Control Manager" +msgstr "" + +#: application/view/tmpl/menu.phtml:33 +msgid "Restrict All" +msgstr "" + +#: application/view/tmpl/menu.phtml:70 +msgid "There is no single menu item allowed for current Role or User" +msgstr "" + +#: application/view/tmpl/metabox.phtml:15 +msgid "Retrieve Metaboxes From Link" +msgstr "" + +#: application/view/tmpl/metabox.phtml:16 +msgid "Refresh the List" +msgstr "" + +#: application/view/tmpl/post.phtml:18 +msgid "Status" +msgstr "" + +#: application/view/tmpl/post.phtml:31 +msgid "Filter Posts by Type" +msgstr "" + +#: application/view/tmpl/post.phtml:34 +msgid "Collapse All" +msgstr "" + +#: application/view/tmpl/post.phtml:35 +msgid "Expand All" +msgstr "" + +#: application/view/tmpl/post.phtml:36 +msgid "Refresh" +msgstr "" + +#: application/view/tmpl/post.phtml:45 +msgid "You reached the limit. Get Administrator
        Role" +msgstr "" + +#: application/view/tmpl/user.phtml:16 extension/AAM_Activity_Log/ui.phtml:15 +msgid "Username" +msgstr "" + +#: application/view/tmpl/user.phtml:25 +msgid "Filter Users by Role" +msgstr "" + +#: application/view/tmpl/user.phtml:39 +msgid "Delete User" +msgstr "" + +#: application/view/tmpl/visitor.phtml:11 +msgid "" +"Control Access to your blog for visitor (any user that is not logged in)" +msgstr "" + +#: extension/AAM_Activity_Log/ui.phtml:16 +msgid "Activity" +msgstr "" + +#: extension/AAM_Activity_Log/ui.phtml:17 +msgid "Time" +msgstr "" + +#: extension/AAM_Activity_Log/ui.phtml:23 +msgid "Clear Activity Log" +msgstr "" + +#: extension/AAM_Activity_Log/ui.phtml:25 +msgid "Are you sure you want to clear activity log?" +msgstr "" + +#: extension/AAM_Activity_Log/ui.phtml:28 +msgid "Activity Log Info" +msgstr "" + +#: extension/AAM_Activity_Log/ui.phtml:30 +#, php-format +msgid "" +"Basic version of Activity Log tracks only user's login and logout. Consider " +"to purchase the %s Extension today to get access to advanced list of " +"activities as well as we can develop additional activities on demand." +msgstr "" + +#: extension/AAM_Multisite_Support/ui.phtml:17 +msgid "Site" +msgstr "" + +#: extension/AAM_Multisite_Support/ui.phtml:24 +msgid "Set Default Site" +msgstr "" + +#: extension/AAM_Multisite_Support/ui.phtml:26 +msgid "Would you like to set the site" +msgstr "" + +#: extension/AAM_Multisite_Support/ui.phtml:26 +msgid "as default?" +msgstr "" + +#: extension/AAM_Multisite_Support/ui.phtml:29 +msgid "All newly created sites will inherit list of Roles & Capabilities." +msgstr "" + +#: extension/AAM_My_Feature/ui.phtml:13 +msgid "Do you need a custom feature?" +msgstr "" + +#: extension/AAM_My_Feature/ui.phtml:15 +msgid "Create your own extension " +msgstr "" + +#: extension/AAM_My_Feature/ui.phtml:16 +msgid "or ask us and we will develop it for you." +msgstr "" + +#: extension/AAM_Plus_Package/ui.phtml:24 +#: extension/AAM_Plus_Package/ui.phtml:56 +msgid "All Categories Default Access" +msgstr "" + +#: extension/AAM_Plus_Package/ui.phtml:89 +#: extension/AAM_Plus_Package/ui.phtml:121 +msgid "All Posts Default Access" +msgstr "" diff --git a/wp-content/plugins/advanced-access-manager/library/Zend/Config.php b/wp-content/plugins/advanced-access-manager/library/Zend/Config.php new file mode 100644 index 0000000..0368d5e --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/library/Zend/Config.php @@ -0,0 +1,485 @@ + to fit the + * project needs. + */ + +/** + * @category Zend + * @package Zend_Config + * @copyright Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com) + * @license http://framework.zend.com/license/new-bsd New BSD License + */ +class Zend_Config implements Countable, Iterator +{ + /** + * Whether in-memory modifications to configuration data are allowed + * + * @var boolean + */ + protected $_allowModifications; + + /** + * Iteration index + * + * @var integer + */ + protected $_index; + + /** + * Number of elements in configuration data + * + * @var integer + */ + protected $_count; + + /** + * Contains array of configuration data + * + * @var array + */ + protected $_data; + + /** + * Used when unsetting values during iteration to ensure we do not skip + * the next element + * + * @var boolean + */ + protected $_skipNextIteration; + + /** + * Contains which config file sections were loaded. This is null + * if all sections were loaded, a string name if one section is loaded + * and an array of string names if multiple sections were loaded. + * + * @var mixed + */ + protected $_loadedSection; + + /** + * This is used to track section inheritance. The keys are names of sections that + * extend other sections, and the values are the extended sections. + * + * @var array + */ + protected $_extends = array(); + + /** + * Load file error string. + * + * Is null if there was no error while file loading + * + * @var string + */ + protected $_loadFileErrorStr = null; + + /** + * Zend_Config provides a property based interface to + * an array. The data are read-only unless $allowModifications + * is set to true on construction. + * + * Zend_Config also implements Countable and Iterator to + * facilitate easy access to the data. + * + * @param array $array + * @param boolean $allowModifications + * @return void + */ + public function __construct(array $array, $allowModifications = false) + { + $this->_allowModifications = (boolean) $allowModifications; + $this->_loadedSection = null; + $this->_index = 0; + $this->_data = array(); + foreach ($array as $key => $value) { + if (is_array($value)) { + $this->_data[$key] = new self($value, $this->_allowModifications); + } else { + $this->_data[$key] = $value; + } + } + $this->_count = count($this->_data); + } + + /** + * Retrieve a value and return $default if there is no element set. + * + * @param string $name + * @param mixed $default + * @return mixed + */ + public function get($name, $default = null) + { + $result = $default; + if (array_key_exists($name, $this->_data)) { + $result = $this->_data[$name]; + } + return $result; + } + + /** + * Magic function so that $obj->value will work. + * + * @param string $name + * @return mixed + */ + public function __get($name) + { + return $this->get($name); + } + + /** + * Only allow setting of a property if $allowModifications + * was set to true on construction. Otherwise, throw an exception. + * + * @param string $name + * @param mixed $value + * @throws Zend_Config_Exception + * @return void + */ + public function __set($name, $value) + { + if ($this->_allowModifications) { + if (is_array($value)) { + $this->_data[$name] = new self($value, true); + } else { + $this->_data[$name] = $value; + } + $this->_count = count($this->_data); + } else { + /** @see Zend_Config_Exception */ + throw new Zend_Config_Exception('Zend_Config is read only'); + } + } + + /** + * Deep clone of this instance to ensure that nested Zend_Configs + * are also cloned. + * + * @return void + */ + public function __clone() + { + $array = array(); + foreach ($this->_data as $key => $value) { + if ($value instanceof Zend_Config) { + $array[$key] = clone $value; + } else { + $array[$key] = $value; + } + } + $this->_data = $array; + } + + /** + * Return an associative array of the stored data. + * + * @return array + */ + public function toArray() + { + $array = array(); + $data = $this->_data; + foreach ($data as $key => $value) { + if ($value instanceof Zend_Config) { + $array[$key] = $value->toArray(); + } else { + $array[$key] = $value; + } + } + return $array; + } + + /** + * Support isset() overloading on PHP 5.1 + * + * @param string $name + * @return boolean + */ + public function __isset($name) + { + return isset($this->_data[$name]); + } + + /** + * Support unset() overloading on PHP 5.1 + * + * @param string $name + * @throws Zend_Config_Exception + * @return void + */ + public function __unset($name) + { + if ($this->_allowModifications) { + unset($this->_data[$name]); + $this->_count = count($this->_data); + $this->_skipNextIteration = true; + } else { + /** @see Zend_Config_Exception */ + throw new Zend_Config_Exception('Zend_Config is read only'); + } + + } + + /** + * Defined by Countable interface + * + * @return int + */ + public function count() + { + return $this->_count; + } + + /** + * Defined by Iterator interface + * + * @return mixed + */ + public function current() + { + $this->_skipNextIteration = false; + return current($this->_data); + } + + /** + * Defined by Iterator interface + * + * @return mixed + */ + public function key() + { + return key($this->_data); + } + + /** + * Defined by Iterator interface + * + */ + public function next() + { + if ($this->_skipNextIteration) { + $this->_skipNextIteration = false; + return; + } + next($this->_data); + $this->_index++; + } + + /** + * Defined by Iterator interface + * + */ + public function rewind() + { + $this->_skipNextIteration = false; + reset($this->_data); + $this->_index = 0; + } + + /** + * Defined by Iterator interface + * + * @return boolean + */ + public function valid() + { + return $this->_index < $this->_count; + } + + /** + * Returns the section name(s) loaded. + * + * @return mixed + */ + public function getSectionName() + { + if(is_array($this->_loadedSection) && count($this->_loadedSection) == 1) { + $this->_loadedSection = $this->_loadedSection[0]; + } + return $this->_loadedSection; + } + + /** + * Returns true if all sections were loaded + * + * @return boolean + */ + public function areAllSectionsLoaded() + { + return $this->_loadedSection === null; + } + + + /** + * Merge another Zend_Config with this one. The items + * in $merge will override the same named items in + * the current config. + * + * @param Zend_Config $merge + * @return Zend_Config + */ + public function merge(Zend_Config $merge) + { + foreach($merge as $key => $item) { + if(array_key_exists($key, $this->_data)) { + if($item instanceof Zend_Config && $this->$key instanceof Zend_Config) { + $this->$key = $this->$key->merge(new Zend_Config($item->toArray(), !$this->readOnly())); + } else { + $this->$key = $item; + } + } else { + if($item instanceof Zend_Config) { + $this->$key = new Zend_Config($item->toArray(), !$this->readOnly()); + } else { + $this->$key = $item; + } + } + } + + return $this; + } + + /** + * Prevent any more modifications being made to this instance. Useful + * after merge() has been used to merge multiple Zend_Config objects + * into one object which should then not be modified again. + * + */ + public function setReadOnly() + { + $this->_allowModifications = false; + foreach ($this->_data as $key => $value) { + if ($value instanceof Zend_Config) { + $value->setReadOnly(); + } + } + } + + /** + * Returns if this Zend_Config object is read only or not. + * + * @return boolean + */ + public function readOnly() + { + return !$this->_allowModifications; + } + + /** + * Get the current extends + * + * @return array + */ + public function getExtends() + { + return $this->_extends; + } + + /** + * Set an extend for Zend_Config_Writer + * + * @param string $extendingSection + * @param string $extendedSection + * @return void + */ + public function setExtend($extendingSection, $extendedSection = null) + { + if ($extendedSection === null && isset($this->_extends[$extendingSection])) { + unset($this->_extends[$extendingSection]); + } else if ($extendedSection !== null) { + $this->_extends[$extendingSection] = $extendedSection; + } + } + + /** + * Throws an exception if $extendingSection may not extend $extendedSection, + * and tracks the section extension if it is valid. + * + * @param string $extendingSection + * @param string $extendedSection + * @throws Zend_Config_Exception + * @return void + */ + protected function _assertValidExtend($extendingSection, $extendedSection) + { + // detect circular section inheritance + $extendedSectionCurrent = $extendedSection; + while (array_key_exists($extendedSectionCurrent, $this->_extends)) { + if ($this->_extends[$extendedSectionCurrent] == $extendingSection) { + /** @see Zend_Config_Exception */ + throw new Zend_Config_Exception('Illegal circular inheritance detected'); + } + $extendedSectionCurrent = $this->_extends[$extendedSectionCurrent]; + } + // remember that this section extends another section + $this->_extends[$extendingSection] = $extendedSection; + } + + /** + * Handle any errors from simplexml_load_file or parse_ini_file + * + * @param integer $errno + * @param string $errstr + * @param string $errfile + * @param integer $errline + */ + protected function _loadFileErrorHandler($errno, $errstr, $errfile, $errline) + { + if ($this->_loadFileErrorStr === null) { + $this->_loadFileErrorStr = $errstr; + } else { + $this->_loadFileErrorStr .= (PHP_EOL . $errstr); + } + } + + /** + * Merge two arrays recursively, overwriting keys of the same name + * in $firstArray with the value in $secondArray. + * + * @param mixed $firstArray First array + * @param mixed $secondArray Second array to merge into first array + * @return array + */ + protected function _arrayMergeRecursive($firstArray, $secondArray) + { + if (is_array($firstArray) && is_array($secondArray)) { + foreach ($secondArray as $key => $value) { + if (isset($firstArray[$key])) { + $firstArray[$key] = $this->_arrayMergeRecursive($firstArray[$key], $value); + } else { + if($key === 0) { + $firstArray= array(0=>$this->_arrayMergeRecursive($firstArray, $value)); + } else { + $firstArray[$key] = $value; + } + } + } + } else { + $firstArray = $secondArray; + } + + return $firstArray; + } +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/library/Zend/Config/Exception.php b/wp-content/plugins/advanced-access-manager/library/Zend/Config/Exception.php new file mode 100644 index 0000000..df0c842 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/library/Zend/Config/Exception.php @@ -0,0 +1,33 @@ + to fit the + * project needs. + */ + +/** + * @category Zend + * @package Zend_Config + * @copyright Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com) + * @license http://framework.zend.com/license/new-bsd New BSD License + */ +class Zend_Config_Exception extends Zend_Exception {} diff --git a/wp-content/plugins/advanced-access-manager/library/Zend/Config/Ini.php b/wp-content/plugins/advanced-access-manager/library/Zend/Config/Ini.php new file mode 100644 index 0000000..f4717c5 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/library/Zend/Config/Ini.php @@ -0,0 +1,301 @@ + to fit the + * project needs. + */ + + +/** + * @category Zend + * @package Zend_Config + * @copyright Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com) + * @license http://framework.zend.com/license/new-bsd New BSD License + */ +class Zend_Config_Ini extends Zend_Config +{ + /** + * String that separates nesting levels of configuration data identifiers + * + * @var string + */ + protected $_nestSeparator = '.'; + + /** + * String that separates the parent section name + * + * @var string + */ + protected $_sectionSeparator = ':'; + + /** + * Whether to skip extends or not + * + * @var boolean + */ + protected $_skipExtends = false; + + /** + * Loads the section $section from the config file $filename for + * access facilitated by nested object properties. + * + * If the section name contains a ":" then the section name to the right + * is loaded and included into the properties. Note that the keys in + * this $section will override any keys of the same + * name in the sections that have been included via ":". + * + * If the $section is null, then all sections in the ini file are loaded. + * + * If any key includes a ".", then this will act as a separator to + * create a sub-property. + * + * example ini file: + * [all] + * db.connection = database + * hostname = live + * + * [staging : all] + * hostname = staging + * + * after calling $data = new Zend_Config_Ini($file, 'staging'); then + * $data->hostname === "staging" + * $data->db->connection === "database" + * + * The $options parameter may be provided as either a boolean or an array. + * If provided as a boolean, this sets the $allowModifications option of + * Zend_Config. If provided as an array, there are three configuration + * directives that may be set. For example: + * + * $options = array( + * 'allowModifications' => false, + * 'nestSeparator' => ':', + * 'skipExtends' => false, + * ); + * + * @param string $filename + * @param mixed $section + * @param boolean|array $options + * @throws Zend_Config_Exception + * @return void + */ + public function __construct($filename, $section = null, $options = false) + { + if (empty($filename)) { + /** + * @see Zend_Config_Exception + */ + throw new Zend_Config_Exception('Filename is not set'); + } + + $allowModifications = false; + if (is_bool($options)) { + $allowModifications = $options; + } elseif (is_array($options)) { + if (isset($options['allowModifications'])) { + $allowModifications = (bool) $options['allowModifications']; + } + if (isset($options['nestSeparator'])) { + $this->_nestSeparator = (string) $options['nestSeparator']; + } + if (isset($options['skipExtends'])) { + $this->_skipExtends = (bool) $options['skipExtends']; + } + } + + $iniArray = $this->_loadIniFile($filename); + + if (null === $section) { + // Load entire file + $dataArray = array(); + foreach ($iniArray as $sectionName => $sectionData) { + if(!is_array($sectionData)) { + $dataArray = $this->_arrayMergeRecursive($dataArray, $this->_processKey(array(), $sectionName, $sectionData)); + } else { + $dataArray[$sectionName] = $this->_processSection($iniArray, $sectionName); + } + } + parent::__construct($dataArray, $allowModifications); + } else { + // Load one or more sections + if (!is_array($section)) { + $section = array($section); + } + $dataArray = array(); + foreach ($section as $sectionName) { + if (!isset($iniArray[$sectionName])) { + /** + * @see Zend_Config_Exception + */ + throw new Zend_Config_Exception("Section '$sectionName' cannot be found in $filename"); + } + $dataArray = $this->_arrayMergeRecursive($this->_processSection($iniArray, $sectionName), $dataArray); + + } + parent::__construct($dataArray, $allowModifications); + } + + $this->_loadedSection = $section; + } + + /** + * Load the INI file from disk using parse_ini_file(). Use a private error + * handler to convert any loading errors into a Zend_Config_Exception + * + * @param string $filename + * @throws Zend_Config_Exception + * @return array + */ + protected function _parseIniFile($filename) + { + set_error_handler(array($this, '_loadFileErrorHandler')); + $iniArray = parse_ini_file($filename, true); // Warnings and errors are suppressed + restore_error_handler(); + + // Check if there was a error while loading file + if ($this->_loadFileErrorStr !== null) { + /** + * @see Zend_Config_Exception + */ + throw new Zend_Config_Exception($this->_loadFileErrorStr); + } + + return $iniArray; + } + + /** + * Load the ini file and preprocess the section separator (':' in the + * section name (that is used for section extension) so that the resultant + * array has the correct section names and the extension information is + * stored in a sub-key called ';extends'. We use ';extends' as this can + * never be a valid key name in an INI file that has been loaded using + * parse_ini_file(). + * + * @param string $filename + * @throws Zend_Config_Exception + * @return array + */ + protected function _loadIniFile($filename) + { + $loaded = $this->_parseIniFile($filename); + $iniArray = array(); + foreach ($loaded as $key => $data) + { + $pieces = explode($this->_sectionSeparator, $key); + $thisSection = trim($pieces[0]); + switch (count($pieces)) { + case 1: + $iniArray[$thisSection] = $data; + break; + + case 2: + $extendedSection = trim($pieces[1]); + $iniArray[$thisSection] = array_merge(array(';extends'=>$extendedSection), $data); + break; + + default: + /** + * @see Zend_Config_Exception + */ + throw new Zend_Config_Exception("Section '$thisSection' may not extend multiple sections in $filename"); + } + } + + return $iniArray; + } + + /** + * Process each element in the section and handle the ";extends" inheritance + * key. Passes control to _processKey() to handle the nest separator + * sub-property syntax that may be used within the key name. + * + * @param array $iniArray + * @param string $section + * @param array $config + * @throws Zend_Config_Exception + * @return array + */ + protected function _processSection($iniArray, $section, $config = array()) + { + $thisSection = $iniArray[$section]; + + foreach ($thisSection as $key => $value) { + if (strtolower($key) == ';extends') { + if (isset($iniArray[$value])) { + $this->_assertValidExtend($section, $value); + + if (!$this->_skipExtends) { + $config = $this->_processSection($iniArray, $value, $config); + } + } else { + /** + * @see Zend_Config_Exception + */ + throw new Zend_Config_Exception("Parent section '$section' cannot be found"); + } + } else { + $config = $this->_processKey($config, $key, $value); + } + } + return $config; + } + + /** + * Assign the key's value to the property list. Handles the + * nest separator for sub-properties. + * + * @param array $config + * @param string $key + * @param string $value + * @throws Zend_Config_Exception + * @return array + */ + protected function _processKey($config, $key, $value) + { + if (strpos($key, $this->_nestSeparator) !== false) { + $pieces = explode($this->_nestSeparator, $key, 2); + if (strlen($pieces[0]) && strlen($pieces[1])) { + if (!isset($config[$pieces[0]])) { + if ($pieces[0] === '0' && !empty($config)) { + // convert the current values in $config into an array + $config = array($pieces[0] => $config); + } else { + $config[$pieces[0]] = array(); + } + } elseif (!is_array($config[$pieces[0]])) { + /** + * @see Zend_Config_Exception + */ + throw new Zend_Config_Exception("Cannot create sub-key for '{$pieces[0]}' as key already exists"); + } + $config[$pieces[0]] = $this->_processKey($config[$pieces[0]], $pieces[1], $value); + } else { + /** + * @see Zend_Config_Exception + */ + throw new Zend_Config_Exception("Invalid key '$key'"); + } + } else { + $config[$key] = $value; + } + return $config; + } +} diff --git a/wp-content/plugins/advanced-access-manager/library/Zend/Exception.php b/wp-content/plugins/advanced-access-manager/library/Zend/Exception.php new file mode 100644 index 0000000..4089913 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/library/Zend/Exception.php @@ -0,0 +1,101 @@ + to fit the + * project needs. + */ + +/** +* @category Zend +* @package Zend +* @copyright Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com) +* @license http://framework.zend.com/license/new-bsd New BSD License +*/ +class Zend_Exception extends Exception +{ + /** + * @var null|Exception + */ + private $_previous = null; + + /** + * Construct the exception + * + * @param string $msg + * @param int $code + * @param Exception $previous + * @return void + */ + public function __construct($msg = '', $code = 0, Exception $previous = null) + { + if (version_compare(PHP_VERSION, '5.3.0', '<')) { + parent::__construct($msg, (int) $code); + $this->_previous = $previous; + } else { + parent::__construct($msg, (int) $code, $previous); + } + } + + /** + * Overloading + * + * For PHP < 5.3.0, provides access to the getPrevious() method. + * + * @param string $method + * @param array $args + * @return mixed + */ + public function __call($method, array $args) + { + if ('getprevious' == strtolower($method)) { + return $this->_getPrevious(); + } + return null; + } + + /** + * String representation of the exception + * + * @return string + */ + public function __toString() + { + if (version_compare(PHP_VERSION, '5.3.0', '<')) { + if (null !== ($e = $this->getPrevious())) { + return $e->__toString() + . "\n\nNext " + . parent::__toString(); + } + } + return parent::__toString(); + } + + /** + * Returns previous Exception + * + * @return Exception|null + */ + protected function _getPrevious() + { + return $this->_previous; + } +} diff --git a/wp-content/plugins/advanced-access-manager/license.txt b/wp-content/plugins/advanced-access-manager/license.txt new file mode 100644 index 0000000..e79a228 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/license.txt @@ -0,0 +1,14 @@ +Copyright (C) <2013> Vasyl Martyniuk + +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 3 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, see . \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/media/css/aam.css b/wp-content/plugins/advanced-access-manager/media/css/aam.css new file mode 100644 index 0000000..313e410 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/media/css/aam.css @@ -0,0 +1,856 @@ +/** + * ====================================================================== + * LICENSE: This file is subject to the terms and conditions defined in * + * file 'license.txt', which is part of this source code package. * + * ====================================================================== +*/ + + +/** GLOBAL AAM STYLES */ +#aam_form{ + position: relative; +} + +.aam-asterix{ + display: inline-block; + font-size: 0.9em; + color: #bf0909; + margin-left: 3px; +} + +.aam-form-table{ + width: 100%; +} + +.aam-form-table th{ + text-align: right; +} + +.aam-form-table input, .aam-form-table select{ + width: 100%; +} + +.dialog-content{ + text-align: center; +} + +.dialog-note{ + font-size: 0.8em; + margin-bottom: 0; +} + +.dialog-input{ + width: 55%; + margin-left: 5%; +} + +.aam-input{ + width: 100%; +} + +.dialog-input-dynamic{ + width: 55%; + margin-left: 5%; + background: transparent url('images/cmanager/field-loader.gif') no-repeat center; +} + +.input-dynamic{ + background: transparent url('images/cmanager/field-loader.gif') no-repeat center; +} + +.dialog-fieldset{ + width: 100%; + margin: 10px 0px; +} + +.aam-medium-loader span{ + background-image: url('images/common/medium-loader.gif'); + background-position: 0 0 !important; +} + +.aam-list-top-actions{ + float: right; + display: inline-table; + width: auto; + text-align: right; +} + +.aam-list-top-actions a{ + display: table-cell; + min-width: 30px; +} + +.aam-list-row-actions{ + width: 100%; + display: inline-table; + text-align: center; +} + +.aam-list-row-actions .aam-icon{ + display: table-cell; +} + +.clear{ + line-height: 0; + font-size: 0; + padding: 0; + margin: 0; + clear: both; +} + +.main-inside{ + position: relative; + min-height: 200px; +} + +.aam-main-loader{ + position: absolute; + top: 0px; + left: 0px; + width: 100%; + height: 100%; + background: transparent url('images/main-loader.gif') no-repeat center; +} + +.aam-metabox-loader{ + display: none; + position: absolute; + top: 0px; + left: 0px; + width: 100%; + height: 100%; + background: transparent url('images/metabox-loader.gif') no-repeat center; +} + +.aam-bold{ + font-weight: bold; +} + +.current-site{ + text-transform: capitalize; + font-weight: bold; + color: #257DA6; + margin-right: 4px; +} + + +.current-subject{ + text-transform: capitalize; + font-weight: bold; + color: #bf0909; +} + +/** FEATURE LIST STYLES */ +.feature-list{ + width: 25%; + float: left; +} + +.feature-item{ + height: 28px; + width: 100%; + display: table; + font-size: 1em; + border: 1px solid #CCCCCC; + font-family: "Lucida Console", Monaco, monospace; + cursor: pointer; + background: transparent url('images/feature.png') no-repeat 2px 2px; +} + +.feature-item:hover{ + border: 1px solid #006400; +} + +.feature-item-active{ + border: 1px solid #257DA6; + background: #257DA6 url('images/feature-active.png') no-repeat 2px 2px; +} + +.feature-item span{ + text-transform: uppercase; + display: table-cell; + padding-left: 38px; + vertical-align: middle; +} + +.feature-item-active span{ + font-weight: bold; + color: #FFFFFF; +} + +.feature-content{ + float: right; + width: 72%; + border-radius: 4px; + border: 1px solid #CCCCCC; + padding: 5px; +} + +.feature-content-container{ + position: relative; +} + +.feature-list-empty{ + text-align: center; + font-size: 1.1em; + color: #AAAAAA; + padding: 10px; +} + +/** CONTROL PANEL STYLES */ + +#major-publishing-actions{ + margin-top: 5px; + border-top: 1px solid #D5D5D5; +} + +/** CONTROL MANAGER STYLES */ +.control-manager{ + display: table; + width: 100%; + margin-bottom: 5px; +} + +.manager-item{ + height: 50px; + min-width: 32px; + display: table-cell; + text-align: center; + vertical-align: bottom; + text-decoration: none; + text-transform: uppercase; + font-size: 10px; + font-weight: bold; + color: #333333; + background-repeat: no-repeat; + background-position: center top; +} + +.control-manager-content{ + border-top: 1px solid #F5F5F5; + visibility: hidden; +} + +/** + ================ + ALL OTHER STYLES + ================ +*/ + +/** ROLE MANAGER STYLES */ +.manager-item-role{ + background-image: url('images/cmanager/role.png'); +} + +.manager-item-role-active{ + background-image: url('images/cmanager/role-active.png'); +} + +/** USER MANAGER STYLES */ +.manager-item-user{ + background-image: url('images/cmanager/user.png'); +} + +.manager-item-user-active{ + background-image: url('images/cmanager/user-active.png'); +} + +.user-settings{ + border: 1px solid #E2E4FF; + width: 100%; +} + +.user-settings td { + border-bottom: 1px solid #CCCCCC; +} + +.user-settings th { + padding: 2px 10px; + border-bottom: 1px solid #CCCCCC; + font-weight: bold; + text-transform: uppercase; + cursor: pointer; + text-align: right; + background-color: #257da6; +} + +.user-settings input, .user-settings select{ + width: 100%; + border: 0px solid transparent; +} + +.user-action-locked{ + display: inline-block; + width:16px; + height: 16px; + background: transparent url('images/cmanager/lock.png') no-repeat center; +} + + +/** VISITOR MANAGER STYLES */ +.manager-item-visitor{ + background-image: url('images/cmanager/visitor.png'); +} + +.manager-item-visitor-active{ + background-image: url('images/cmanager/visitor-active.png'); +} + +.control-manager-visitor{ + margin-top: 10px; + width: auto; + border-top: 4px solid #257DA6; + border-bottom: 1px solid #CCCCCC; + border-left: 1px solid #CCCCCC; + border-right: 1px solid #CCCCCC; + text-align: justify; + padding: 10px; + font-family: 'Lucida Console', Monaco, monospace; +} + + +/** ADMIN MENU STYLES */ +.menu-item-action{ + background-repeat: no-repeat; + background-position: center; + width: 26px; + height: 26px; + display: block; + margin: -10px auto 4px auto; + text-indent: -9999px; + text-decoration: none; +} + +.menu-item-action-restrict{ + background-image:url(images/menu/visibility.png); +} + +.menu-item-action-restrict-active{ + background-image:url(images/menu/visibility-active.png); +} + +.whole-menu{ + width: 50%; + background-color: #F9F9F9; + border-radius: 5px; + text-align: center; + font-family: 'Lucida Console', Monaco, monospace; + vertical-align: top; + margin: 0px auto 5px auto; + padding: 0px 10px; +} + +.whole-menu label{ + display: inline-block; + line-height: 25px; + height: 23px; +} + +.menu-submenu-list{ + border: 1px solid #CCCCCC; + border-radius: 5px; + padding: 12px 5px 5px; + background-color: #F9F9F9; + width: 95%; + margin: auto; + display: table; +} + +.menu-submenu-row{ + display: table-row; +} + +.menu-submenu-item{ + text-align: right; + padding-right: 10px; + font-family: 'Lucida Console', Monaco, monospace; + vertical-align: top; + display: table-cell; +} + +.menu-submenu-item label{ + display: inline-block; + line-height: 25px; + height: 29px; + font-size: 0.8em; +} + +#main_menu_list input[type="checkbox"] { + display:none; +} + +#main_menu_list input[type="checkbox"] + label span { + display:inline-block; + width:16px; + height:16px; + background:url(images/menu/unchecked.png) no-repeat center; + cursor:pointer; + margin-top: 4px; +} + +#main_menu_list input[type="checkbox"]:checked + label span { + background:url(images/menu/checked.png) no-repeat center; +} + +.menu-empty-list{ + border: 1px solid #bf0909; + border-radius: 4px; + padding: 8px 10px; + text-align: center; + font-weight: bold; + font-size: 1em; + background-color: #E2E4FF; +} + +/** METABOX & WIDGETS STYLES */ +.metabox-top-actions{ + padding: 2px 0; + width: 100%; + margin-bottom: 10px; +} + +.metabox-top-action-link{ + width: 75%; + float: left; +} + +.metabox-top-action-link input{ + height: 24px; + width: 100%; + background-repeat: no-repeat; + background-position: 5px center; + background-image: url('images/metabox/link.png'); + padding-left: 24px; +} + +.metabox-top-action-link input:focus{ + background-image: url('images/metabox/link-active.png'); +} + +.metabox-top-actions .aam-icon-medium-add{ + margin-left: 10px; + display: inline-block; +} + +.metabox-top-actions .aam-icon-medium-refresh{ + float: right; + display: inline-block; +} + +.metabox-group{ + border: 1px solid #CCCCCC; + border-radius: 5px; + padding: 12px 5px 5px; + background-color: #F9F9F9; + width: 95%; + margin: auto; + display: table; +} + +.metabox-row{ + display: table-row; +} + +.metabox-item{ + text-align: right; + font-family: 'Lucida Console', Monaco, monospace; + vertical-align: top; + display: table-cell; +} + +.metabox-item label{ + display: inline-block; + line-height: 25px; + height: 29px; + font-size: 0.8em; +} + +.metabox-item input[type="checkbox"] { + display:none; +} + +.metabox-item input[type="checkbox"] + label span { + display:inline-block; + width:16px; + height:16px; + background:url(images/metabox/unchecked.png) no-repeat center; + cursor:pointer; + margin-top: 4px; + margin-left: 6px; +} + +.metabox-item input[type="checkbox"]:checked + label span { + background:url(images/metabox/checked.png) no-repeat center; +} + +#metabox_content{ + min-height: 200px; +} + +/** CAPABILITIES STYLES */ +.capability-actions{ + display: table; + width: 100%; +} + +.capability-action{ + width: 16px; + height: 16px; + display: table-cell; + text-align: center; + vertical-align: middle; + text-decoration: none; + outline: 0; +} + +a.capability-action{ + outline: 0; +} + +.capability-action input[type="checkbox"] { + display:none; +} + +.capability-action input[type="checkbox"] + label span { + display:inline-block; + width:16px; + height:16px; + background:url(images/capability/unchecked.png) no-repeat center; + cursor:pointer; + margin-top: 4px; +} + +.capability-action input[type="checkbox"]:checked + label span { + background:url(images/capability/checked.png) no-repeat center; +} + +.capability-action-delete{ + background: transparent url('images/capability/delete.png') no-repeat center; +} + +.capability-action-delete:hover{ + background: transparent url('images/capability/delete-active.png') no-repeat center; +} + +.capability-action-delete-active{ + background: transparent url('images/capability/delete-active.png') no-repeat center; +} + +.capability-action-select{ + background: transparent url('images/capability/select.png') no-repeat center; +} + +.capability-action-select:hover{ + background: transparent url('images/capability/select-active.png') no-repeat center; +} + +.capability-action-select-active{ + background: transparent url('images/capability/select-active.png') no-repeat center; +} + +#capability_unfiltered { + display:none; +} + +#capability_unfiltered + label span { + display:inline-block; + width:16px; + height:16px; + background:url(images/capability/unchecked.png) no-repeat center; + cursor:pointer; + margin-top: 4px; +} + +#capability_unfiltered:checked + label span { + background:url(images/capability/checked.png) no-repeat center; +} + +.aam-align-right{ + text-align: right; +} + + +/** POSTS & CATEGORIES STYLES */ +.post-type-post{ + height: 16px; + background: transparent url('images/post/post.png') no-repeat left center; + display: inline-block; + padding-left: 20px; + text-decoration: none; +} + +.post-action-check{ + text-align: center; +} + +.post-action-lock{ + background-image: url('images/lock.png'); +} + +.post-action input[type="checkbox"] { + display:none; +} + +.post-action input[type="checkbox"] + label span { + display:inline-block; + width:16px; + height:16px; + background:url(images/post/unchecked.png) no-repeat center; + cursor:pointer; + margin-top: 4px; +} + +.post-action input[type="checkbox"]:checked + label span { + background:url(images/post/checked.png) no-repeat center; +} + +.post-access-area{ + margin: 5px 0; + text-align: center; +} + +.post-access-area .ui-button-text-only .ui-button-text{ + padding: 0.1em 1em; +} + +.post-category-subposts .ui-button-text-only .ui-button-text{ + padding: 0.1em 1em; +} + +.post-access{ + display: inline-block; + font-size: 14px; + font-weight: bold; + padding: 2px 0 4px 5px; + text-transform: uppercase; +} + +.post-access-inherited{ + border: 1px solid #CCCCCC; + border-radius: 3px; + color: #FF0000; + margin: 5px 0 10px; + padding: 2px; + text-align: center; + display: none; +} + +.post-breadcrumb{ + margin-top: 4px; + border: 1px solid #CCCCCC; + width: 100%; + padding: 4px 0px; + font-family: 'Lucida Console', Monaco, monospace; +} + +.post-breadcrumb-loading{ + background: transparent url('images/post/loader.gif') no-repeat center; +} + +.post-breadcrumb-line{ + width: 88%; + display: inline-block; + vertical-align: middle; +} + +.post-breadcrumb-line a{ + text-decoration: none; + font-weight: bold; + color: #257DA6; + margin-left: 5px; +} + +.aam-gt{ + display: inline-block; + margin: 0 2px; +} + +.post-breadcrumb-line-actions{ + width: 10%; + display:inline-table; + border-left: 1px solid #CCCCCC; + vertical-align: middle; + text-align: center; +} + +.post-breadcrumb-line-actions a{ + display: table-cell; + width: 16px; + height: 16px; + background-position: center; + background-repeat: no-repeat; +} + +.post-breadcrumb-line-action-lock{ + background-image: url('images/lock.png'); +} + +#access_dialog{ + position: relative; +} + +.aam-lock-message{ + margin: 5px 0 10px 0; + border: 1px solid #bf0909; + border-radius: 4px; + background: transparent url('images/lock.png') no-repeat 5px center; + display: table; + width: 100%; +} + +.attachment-access-block{ + border: 1px solid #257DA6; + border-radius: 4px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + padding-left: 22px; + box-sizing: content-box; + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; + background: transparent url('images/post/info-active.png') no-repeat 2px center; + font-size: 0.8em; +} + +.aam-lock-message span{ + font-weight: bold; + vertical-align: middle; + display: table-cell; + padding: 5px 2px 5px 28px; +} + +.aam-lock-message a{ + color: #257DA6; + outline: 0; +} + +.ui-menu { + width: 150px; + z-index: 9999; +} + +.post-term-descend{ + margin: 5px 0; + text-align: left; + display: table; + vertical-align: middle; +} + +.post-term-descend label{ + display: table-cell; +} + +.post-term-descend input[type="checkbox"] { + display:none; +} + +.post-term-descend input[type="checkbox"] + label span { + display:inline-block; + width:16px; + height:16px; + background:url(images/capability/unchecked.png) no-repeat center; + cursor:pointer; + margin-top: 4px; + margin-left: 8px; +} + +.post-term-descend input[type="checkbox"]:checked + label span { + background:url(images/capability/checked.png) no-repeat center; +} + +#access_dialog table.dataTable td{ + padding: 0px 10px; +} + +.dataTable th.term-access-title, .dataTable th.post-access-title{ + background-color: #CCCCCC; +} + +.post-access-list{ + position: relative; +} + +.post-access-list .post-access-block{ + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: #F5F5F5; + opacity: 0.8; +} + +.aam-lock-big{ + display: table; + width: 100%; + height: 120px; + background: transparent url('images/post/lock-big.png') no-repeat center; +} + +a.aam-lock-big{ + text-decoration: none; + outline: 0; +} + +.aam-lock-big span{ + display: table-cell; + vertical-align: bottom; + text-align: center; + text-transform: uppercase; + font-size: 0.8em; + font-weight: bold; +} + +.aam-post-access-notice{ + display: inline-block; + margin-right: 2px; + color: #257DA6; + font-weight: bold; +} + +.post-access-description{ + font-size: 0.75em; +} + + +/** EVENT MANAGER STYLES */ +.event-actions{ + display: table; + width: 100%; +} + +.event-action{ + width: 16px; + height: 16px; + display: table-cell; + padding: 2px 0; + background-repeat: no-repeat; + background-position: center; +} + +.event-action-edit{ + background-image: url('images/event/edit.png'); +} + +.event-action-edit:hover{ + background-image: url('images/event/edit-active.png'); +} + +.event-action-edit-active{ + background-image: url('images/event/edit-active.png'); +} + +.event-action-delete{ + background-image: url('images/event/delete.png'); +} + +.event-action-delete:hover{ + background-image: url('images/event/delete-active.png'); +} + +.event-action-delete-active{ + background-image: url('images/event/delete-active.png'); +} + +.event-specifier{ + display:none; +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/media/css/codemirror.css b/wp-content/plugins/advanced-access-manager/media/css/codemirror.css new file mode 100644 index 0000000..b3958a9 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/media/css/codemirror.css @@ -0,0 +1,262 @@ +/* BASICS */ + +.CodeMirror { + /* Set height, width, borders, and global font properties here */ + font-family: monospace; + height: 300px; +} +.CodeMirror-scroll { + /* Set scrolling behaviour here */ + overflow: auto; +} + +/* PADDING */ + +.CodeMirror-lines { + padding: 4px 0; /* Vertical padding around content */ +} +.CodeMirror pre { + padding: 0 4px; /* Horizontal padding of content */ +} + +.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler { + background-color: white; /* The little square between H and V scrollbars */ +} + +/* GUTTER */ + +.CodeMirror-gutters { + border-right: 1px solid #ddd; + background-color: #f7f7f7; + white-space: nowrap; +} +.CodeMirror-linenumbers {} +.CodeMirror-linenumber { + padding: 0 3px 0 5px; + min-width: 20px; + text-align: right; + color: #999; +} + +/* CURSOR */ + +.CodeMirror div.CodeMirror-cursor { + border-left: 1px solid black; + z-index: 3; +} +/* Shown when moving in bi-directional text */ +.CodeMirror div.CodeMirror-secondarycursor { + border-left: 1px solid silver; +} +.CodeMirror.cm-keymap-fat-cursor div.CodeMirror-cursor { + width: auto; + border: 0; + background: #7e7; + z-index: 1; +} +/* Can style cursor different in overwrite (non-insert) mode */ +.CodeMirror div.CodeMirror-cursor.CodeMirror-overwrite {} + +.cm-tab { display: inline-block; } + +/* DEFAULT THEME */ + +.cm-s-default .cm-keyword {color: #708;} +.cm-s-default .cm-atom {color: #219;} +.cm-s-default .cm-number {color: #164;} +.cm-s-default .cm-def {color: #00f;} +.cm-s-default .cm-variable {color: black;} +.cm-s-default .cm-variable-2 {color: #05a;} +.cm-s-default .cm-variable-3 {color: #085;} +.cm-s-default .cm-property {color: black;} +.cm-s-default .cm-operator {color: black;} +.cm-s-default .cm-comment {color: #a50;} +.cm-s-default .cm-string {color: #a11;} +.cm-s-default .cm-string-2 {color: #f50;} +.cm-s-default .cm-meta {color: #555;} +.cm-s-default .cm-error {color: #f00;} +.cm-s-default .cm-qualifier {color: #555;} +.cm-s-default .cm-builtin {color: #30a;} +.cm-s-default .cm-bracket {color: #997;} +.cm-s-default .cm-tag {color: #170;} +.cm-s-default .cm-attribute {color: #00c;} +.cm-s-default .cm-header {color: blue;} +.cm-s-default .cm-quote {color: #090;} +.cm-s-default .cm-hr {color: #999;} +.cm-s-default .cm-link {color: #00c;} + +.cm-negative {color: #d44;} +.cm-positive {color: #292;} +.cm-header, .cm-strong {font-weight: bold;} +.cm-em {font-style: italic;} +.cm-link {text-decoration: underline;} + +.cm-invalidchar {color: #f00;} + +div.CodeMirror span.CodeMirror-matchingbracket {color: #0f0;} +div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;} +.CodeMirror-activeline-background {background: #e8f2ff;} + +/* STOP */ + +/* The rest of this file contains styles related to the mechanics of + the editor. You probably shouldn't touch them. */ + +.CodeMirror { + line-height: 1; + position: relative; + overflow: hidden; + background: #FFFFFF; + color: black; + border: 1px solid #CCCCCC; + border-radius: 4px; + padding: 1px; +} + +.CodeMirror-scroll { + /* 30px is the magic margin used to hide the element's real scrollbars */ + /* See overflow: hidden in .CodeMirror */ + background-color: #F9F9F9; + font-size: 1.1em; + height: 100%; + outline: none; /* Prevent dragging from highlighting the element */ + position: relative; +} +.CodeMirror-sizer { + position: relative; +} + +/* The fake, visible scrollbars. Used to force redraw during scrolling + before actuall scrolling happens, thus preventing shaking and + flickering artifacts. */ +.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler { + position: absolute; + z-index: 6; + display: none; +} +.CodeMirror-vscrollbar { + right: 0; top: 0; + overflow-x: hidden; + overflow-y: scroll; +} +.CodeMirror-hscrollbar { + bottom: 0; left: 0; + overflow-y: hidden; + overflow-x: scroll; +} +.CodeMirror-scrollbar-filler { + right: 0; bottom: 0; +} +.CodeMirror-gutter-filler { + left: 0; bottom: 0; +} + +.CodeMirror-gutters { + position: absolute; left: 0; top: 0; + padding-bottom: 30px; + z-index: 3; +} +.CodeMirror-gutter { + white-space: normal; + height: 100%; + padding-bottom: 30px; + margin-bottom: -32px; + display: inline-block; + /* Hack to make IE7 behave */ + *zoom:1; + *display:inline; +} +.CodeMirror-gutter-elt { + position: absolute; + cursor: default; + z-index: 4; +} + +.CodeMirror-lines { + cursor: text; +} +.CodeMirror pre { + /* Reset some styles that the rest of the page might have set */ + -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0; + border-width: 0; + background: transparent; + font-family: inherit; + font-size: inherit; + margin: 0; + white-space: pre; + word-wrap: normal; + line-height: inherit; + color: inherit; + z-index: 2; + position: relative; + overflow: visible; +} +.CodeMirror-wrap pre { + word-wrap: break-word; + white-space: pre-wrap; + word-break: normal; +} +.CodeMirror-code pre { + border-right: 30px solid transparent; + width: -webkit-fit-content; + width: -moz-fit-content; + width: fit-content; +} +.CodeMirror-wrap .CodeMirror-code pre { + border-right: none; + width: auto; +} +.CodeMirror-linebackground { + position: absolute; + left: 0; right: 0; top: 0; bottom: 0; + z-index: 0; +} + +.CodeMirror-linewidget { + position: relative; + z-index: 2; + overflow: auto; +} + +.CodeMirror-widget { +} + +.CodeMirror-wrap .CodeMirror-scroll { + overflow-x: hidden; +} + +.CodeMirror-measure { + position: absolute; + width: 100%; height: 0px; + overflow: hidden; + visibility: hidden; +} +.CodeMirror-measure pre { position: static; } + +.CodeMirror div.CodeMirror-cursor { + position: absolute; + visibility: hidden; + border-right: none; + width: 0; +} +.CodeMirror-focused div.CodeMirror-cursor { + visibility: visible; +} + +.CodeMirror-selected { background: #d9d9d9; } +.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; } + +.cm-searching { + background: #ffa; + background: rgba(255, 255, 0, .4); +} + +/* IE7 hack to prevent it from returning funny offsetTops on the spans */ +.CodeMirror span { *vertical-align: text-bottom; } + +@media print { + /* Hide the cursor when printing */ + .CodeMirror div.CodeMirror-cursor { + visibility: hidden; + } +} diff --git a/wp-content/plugins/advanced-access-manager/media/css/common.css b/wp-content/plugins/advanced-access-manager/media/css/common.css new file mode 100644 index 0000000..b15afcf --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/media/css/common.css @@ -0,0 +1,369 @@ +/** + * ====================================================================== + * LICENSE: This file is subject to the terms and conditions defined in * + * file 'license.txt', which is part of this source code package. * + * ====================================================================== +*/ +.aam-beta-version{ + margin: 15px 10px; + border: 1px solid #FF8888; + border-radius: 4px; + padding: 4px; + text-align: center; + font-weight: bold; + font-size: 1.1em; +} + +.aam-hidden{ + display: none; +} + +.aam-dialog{ + display: none; +} + +.wrap a{ + outline: 0; +} + +.aam-tooltip { + display:none; + position:absolute; + border:1px solid #CCCCCC; + background-color: #F5F5F5; + border-radius: 4px; + box-shadow: 0 0 5px #AAAAAA; + padding: 5px 10px; + z-index: 9999; + color: #333333; + font-size: 1em; + max-width: 300px; + left:0px; + top: 0px; + font-weight: bold; + font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; +} + +.aam-icon{ + text-indent: -9999px; + text-align: center; + background-repeat: no-repeat; +} + +a.aam-icon{ + outline: none; +} + +.aam-icon span { + content: ""; + display: block; + background-repeat: no-repeat; + opacity: 1; + -webkit-transition: opacity 0.5s; + -moz-transition: opacity 0.5s; + -o-transition: opacity 0.5s; +} + +.aam-icon span:hover{ + opacity: 1; +} + +.aam-icon-large span { + background-image: url('images/common/large-iconset.png'); + width: 48px; + height: 48px; + margin-left: calc(50% - 24px); + margin-left: -moz-calc(50% - 24px); +} + +.aam-icon-medium span { + background-image: url('images/common/medium-iconset.png'); + width: 24px; + height: 24px; + margin-left: calc(50% - 12px); + margin-left: -moz-calc(50% - 12px); +} + +.aam-icon-small span { + background-image: url('images/common/small-iconset.png'); + width: 16px; + height: 16px; + margin-left: calc(50% - 8px); + margin-left: -moz-calc(50% - 8px); +} + +.aam-icon-large-active{ + background-position-y: -48px !important; +} + +.aam-icon-medium-active{ + background-position-y: -24px !important; +} + +.aam-icon-small-active{ + background-position-y: -16px !important; +} + +.aam-icon-large-save span{ + background-position: 0 0; +} + +.aam-icon-large-save:hover span{ + background-position: 0 -48px; +} + +.aam-icon-large-roleback span{ + background-position: -48px 0; +} + +.aam-icon-large-roleback:hover span{ + background-position: -48px -48px; +} + +.aam-icon-large-twitter span{ + background-position: -96px 0; +} + +.aam-icon-large-twitter:hover span{ + background-position: -96px -48px; +} + +.aam-icon-large-message span{ + background-position: -144px 0; +} + +.aam-icon-large-message:hover span{ + background-position: -144px -48px; +} + +.aam-icon-large-link span{ + background-position: -192px 0; +} + +.aam-icon-large-link:hover span{ + background-position: -192px -48px; +} + +.aam-icon-large-info span{ + background-position: -240px 0; +} + +.aam-icon-large-info:hover span{ + background-position: -240px -48px; +} + +.aam-icon-large-editor span{ + background-position: -288px 0; +} + +.aam-icon-large-editor:hover span{ + background-position: -288px -48px; +} + +.aam-icon-medium-add span{ + background-position: 0 0; +} + +.aam-icon-medium-add:hover span{ + background-position: 0 -24px; +} + +.aam-icon-medium-refresh span{ + background-position: -24px 0px; +} + +.aam-icon-medium-refresh:hover span{ + background-position: -24px -24px; +} + +.aam-icon-medium-filter span{ + background-position: -48px 0px; +} + +.aam-icon-medium-filter:hover span{ + background-position: -48px -24px; +} + +.aam-icon-medium-copy span{ + background-position: -72px 0px; +} + +.aam-icon-medium-copy:hover span{ + background-position: -72px -24px; +} + +.aam-icon-medium-roleback span{ + background-position: -96px 0px; +} + +.aam-icon-medium-roleback:hover span{ + background-position: -96px -24px; +} + +.aam-icon-medium-twitter span{ + background-position: -120px 0; +} + +.aam-icon-medium-twitter:hover span{ + background-position: -120px -24px; +} + +.aam-icon-medium-help span{ + background-position: -144px 0; +} + +.aam-icon-medium-help:hover span{ + background-position: -144px -24px; +} + +.aam-icon-medium-message span{ + background-position: -168px 0; +} + +.aam-icon-medium-message:hover span{ + background-position: -168px -24px; +} + +.aam-icon-medium-star span{ + background-position: -192px 0; +} + +.aam-icon-medium-star:hover span{ + background-position: -192px -24px; +} + +.aam-icon-small-manage span{ + background-position: 0 0; +} + +.aam-icon-small-manage:hover span{ + background-position: 0 -16px; +} + +.aam-icon-small-delete span{ + background-position: -16px 0; +} + +.aam-icon-small-delete:hover span{ + background-position: -16px -16px; +} + +.aam-icon-small-pen span{ + background-position: -32px 0; +} + +.aam-icon-small-pen:hover span{ + background-position: -32px -16px; +} + +.aam-icon-small-edit-user span{ + background-position: -48px 0; +} + +.aam-icon-small-edit-user:hover span{ + background-position: -48px -16px; +} + +.aam-icon-small-block span{ + background-position: -64px 0; +} + +.aam-icon-small-block:hover span{ + background-position: -64px -16px; +} + +.aam-icon-small-roleback span{ + background-position: -80px 0; +} + +.aam-icon-small-roleback:hover span{ + background-position: -80px -16px; +} + +.aam-icon-small-trash span{ + background-position: -96px 0; +} + +.aam-icon-small-trash:hover span{ + background-position: -96px -16px; +} + +.aam-icon-small-select span{ + background-position: -112px 0; +} + +.aam-icon-small-select:hover span{ + background-position: -112px -16px; +} + +.large-icons-row{ + display: table; + width: 100%; + margin-bottom: 5px; + padding-bottom: 5px; + border-bottom: 1px solid #CCCCCC; +} + +.large-icons-row .aam-icon{ + display: table-cell; + text-align: center; + vertical-align: bottom; + text-decoration: none; + text-transform: uppercase; + font-size: 10px; + font-weight: bold; + color: #333333; +} + +.large-icons-row a.disabled span{ + opacity: 0.8; + cursor: none; + pointer-events: none; + text-decoration: line-through; +} + +.medium-icons-row{ + display: inline-table; + width: 100%; + margin-top: 10px; +} + +.medium-icons-row .aam-icon{ + display: table-cell; + text-indent: 0; + font-size: 9px; + font-weight: bold; + color: #333333; +} + +.medium-icons-row a.aam-icon{ + text-decoration: none; +} + +.aam-list-row-actions{ + width: 100%; + display: inline-table; + text-align: center; +} + +.aam-list-row-actions .aam-icon{ + display: table-cell; +} + +.aam-warning{ + width: 100%; + height: 40px; + display: table-row; + background: transparent url('images/common/warning.png') no-repeat 2px center; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + margin-top: 1px; +} + +.aam-warning span{ + display: table-cell; + vertical-align: middle; + padding-left: 30px; + font-size: 0.9em; +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/media/css/configpress.css b/wp-content/plugins/advanced-access-manager/media/css/configpress.css new file mode 100644 index 0000000..f45f516 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/media/css/configpress.css @@ -0,0 +1,4 @@ +#major-publishing-actions{ + margin-top: 5px; + border-top: 1px solid #D5D5D5; +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/media/css/extension.css b/wp-content/plugins/advanced-access-manager/media/css/extension.css new file mode 100644 index 0000000..08d3fc5 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/media/css/extension.css @@ -0,0 +1,155 @@ +.extension-name{ + font-weight: bold; + font-family: Tahoma, Geneva, sans-serif; +} + +.extension-description{ + text-align: justify; +} + +.extension-description a{ + font-weight: bold; + text-decoration: none; +} + +.extension-price{ + text-align: center; + font-weight: bold; + font-size: 1.1em; +} + +.free{ + color: #006400; +} + +.payed{ + color: #212121; +} + +.cpanel-item-twitter{ + background-image: url('images/extension/twitter.png'); +} + +.cpanel-item-twitter:hover{ + background-image: url('images/extension/twitter-active.png'); +} + +.cpanel-item-message{ + background-image: url('images/extension/message.png'); +} + +.cpanel-item-message:hover{ + background-image: url('images/extension/message-active.png'); +} + +.cpanel-item-website{ + background-image: url('images/extension/link.png'); +} + +.cpanel-item-website:hover{ + background-image: url('images/extension/link-active.png'); +} + +.extension-actions{ + display: table; + width: 100%; +} + +.extension-action{ + width: 26px; + height: 26px; + display: table-cell; + text-align: center; + vertical-align: middle; + text-decoration: none; + background-color: transparent; + background-repeat: no-repeat; + background-position: center; +} + +a.extension-action{ + outline: 0; +} + +.extension-action-youtube{ + background-image: url('images/extension/youtube.png'); +} + +.extension-action-youtube:hover{ + background-image: url('images/extension/youtube-active.png'); +} + +.extension-action-forum{ + background-image: url('images/extension/forum.png'); +} + +.extension-action-forum:hover{ + background-image: url('images/extension/forum-active.png'); +} + +.extension-action-purchase{ + background-image: url('images/extension/plus.png'); +} + +.extension-action-purchase:hover{ + background-image: url('images/extension/plus-active.png'); +} + +.extension-action-ok{ + background-image: url('images/extension/ok.png'); +} + +.extension-action-ok:hover{ + background-image: url('images/extension/ok-active.png'); +} + +.extension-action-download{ + background-image: url('images/extension/download.png'); +} + +.extension-action-download:hover{ + background-image: url('images/extension/download-active.png'); +} + +.dialog-content{ + font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; +} + +.dialog-content a{ + font-weight: bold; + text-decoration: none; + color: #257DA6; + outline: 0; +} + +input.license-input{ + width: 100%; + border: 1px solid #CCCCCC; + border-radius: 0px; + margin-top: 5px; + padding: 2px; + font-size: 12px; + line-height: 16px; +} + +#install_extension{ + position: relative; +} + +.loading-extension{ + width: 100%; + height: 100%; + background: #CCCCCC url('images/main-loader.gif') no-repeat center; + position: absolute; + top: 0; + left: 0; + opacity: 0.8; +} + +.license-error-list{ + margin-top: 5px; + display: none; + font-size: 0.8em; + color: #FF8888; + font-weight: bold; +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/animated-overlay.gif b/wp-content/plugins/advanced-access-manager/media/css/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/advanced-access-manager/media/css/images/capability/checked.png b/wp-content/plugins/advanced-access-manager/media/css/images/capability/checked.png new file mode 100644 index 0000000000000000000000000000000000000000..a9c3352e6fa428cd573a22dc533776c3dfa9af9b GIT binary patch literal 518 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8?EyX^t_}_k$B!TH>FGIk>{w@Kr;Ce=hlj_HA3wakz3uGm zPMtb+^5n_0XV03NnudggeE9I;^XJdj*4CAkm2GWpmo8nhv9Wpe>eZn`hvMSm&YwRY z6%}>i!iASFU(TC1FETQ6{`~o^t*z$f<|j^^xOVN@jT<+gDd_^49TBur!TlmwmJ@V7Bv{*Qe+3o&KH4WOmlJNS8HqQ4I4JBUAxxG%4+rM)iyRZ7cX91zka=miAiE& z;-yQME?l?}8yjn9XJ>D3fByXW%aJ+ukJk}|1E}9?I78dD{M!HTV0Z%~!+d`MoA71aQ-Rhqc)I$ztaD0e0s#MbhVK9X literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/capability/unchecked.png b/wp-content/plugins/advanced-access-manager/media/css/images/capability/unchecked.png new file mode 100644 index 0000000000000000000000000000000000000000..66f709a09be8a341fe7daee9f96152b824d59e10 GIT binary patch literal 239 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!fotpJ}8*W<^J+u7N9dwaXMxb*b&bar-nczFEy@x#Hv;n=Zb zt5>f+di1Ehz5W0H|22A#g#&f*l?3?(1Gxym;CkTB380Llr;B4q#jPX#hC&Pq9EVpe z(s=NH|7vDtb$)|r+PrXejVBT({9HC1tT9(pe2~b*d75Iqrjh- zym3~`@ijG{XC&VH-jgz8#{5$Yy_~%Ybat?3pWV3jr3&9B##9lh{D@DreW&~`KbobJ z6m)z&b`wDkGXR>na#mLKo%~1qT*BKcA6E7(xw2rzF1}^lhhF<6n{_@vdG6)Upjk84 zn4U4{aXzJznDZA7_33z1_l7Q2A8G) literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/cmanager/lock.png b/wp-content/plugins/advanced-access-manager/media/css/images/cmanager/lock.png new file mode 100644 index 0000000000000000000000000000000000000000..a95a90687e0d235aa2ae03b911676d1c220fa991 GIT binary patch literal 424 zcmV;Z0ayNsP)?%w6zos%Sq@O@ucv5Z~J;R971;w2pr1i^1BMQ3c{4ompP5Z3X48GEpuU>FDH zT~8_-XDFePmtY=~xWO$VG_a34R?Ht|CYUzuqxJnA<dHYezvp9LEv5m_!Zdrf53) zpgR<<@r2Kg1jHbAu!b+3px;bRL!U;BD;(jznSj-|XpZ5E|HTMqTWc`Y!(?Gjrmcv| z9zk7RUDw^_?@qgADs<_qN+~Z;G+Qk8lz>SKQ522yx|lUN>nb;IrBbRC$8kA#3#=yf zUHGF86-?wNpjdTQ(`RmHSy30@WdUv_cKIAj+h|Sb}K?{!^zW@5cyRS2j-_6@_-g)N1fCWbjHeP7mbM5rw zcgG*RY2JM;eDQJbxrf{LT~AnXYSEboD=$3y`RA|4>_ZoxzW?&`_opAfufP2C_Uq48 z7a!N|xMDYLf8EY2lMdhh`2E+yGY>95|FHAsizgqxO+0+dsDJmIllLqp?{%7SVA=Uc zwo~^xOh3?f=vK>~YjMj@o_+jo#f3*xkKQ@)@a>21zuaaWT6^h9#F7&?Uwz72ckbP{ zU)EFh)$F*^ckpJ&qGMK5_65v8+I#S(?bQ8kd#`uxzwz$d&)|i}zW(}CzV*_%C+|~M zpK+OaaLuJBOV2%g{pH8SXCDmuc2#e`+<)lSv}1Romz@kGbUU|NsA# zX@>E@SSc?F@(TuX2LLdvoWCR$80XoZE{-7;w^}ZzRv$7DV0f@)i-^QKGl?^I!9ex< zZ}-`4Dr;+g(<%Q#WU@sBel@OAf&>61lM8|}Nlo^U(O@Kj=Q#>*{it7jbR;ZP~x zrFJc@;=Cm{W^3*Wy@ObvP zVR~bxWR&N%gN^KL8|1I`m~KAbXuHjxe%31dS3Ze@tW_YMcOkC z)U5duv>>JDkeb8PZgFq53Hm2KPh?UGoZrr%>*|TR8CQJwl z3Oai9Xl7>S#EBDITU&E;b3cCkc=F`QJ9q9RB_+ki#s&lgL`O%5goK!xnfdzq{`m33 z$;l}rBje%2hhM*boik_7%$YM+uU=hTT%4SoeDUJN4I4I`J9lpV`t_BSm8GSnuCA_r zet!A+`Q6>!U0q#o-@bkI>Q!G~Uq?rWr>Ccfhetz0LtaPq)C$}Pd<3?pp})Cxw-kvmoJ-|nm&E{zad2rxX@A|jc` zY<5TX**?Sa^78n1|LbLQr6z6o^k(0as><6-_OczcZ{*3kop(EE#d>uMz64XImvRo@ zl7;Nmk`4MYb2<;?XzQxmyq&79+3_i1p;y;zu@%-O1;?5-t8O=Np8Fc|=zwE-;u~g_ zi8`kn-Pz(8-l%jJD;#cUN$5+lmf4ZWusy*;TKl@pjMUGU8GLmMKgMr5*uc9WUe>-P zZiz$z^OGxu&J14_=6;WQ5bJG|WF9Nx@iX^`>!=sdm)Haq)HDhRnUYlJLny))z2cC#05g$sEn zWVh9?D7yYna&6q-ELq1NLglSVj2#*JyQVRPL?5hwlr3^g|sJ literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/cmanager/user-active.png b/wp-content/plugins/advanced-access-manager/media/css/images/cmanager/user-active.png new file mode 100644 index 0000000000000000000000000000000000000000..5a1dc92ac3e231c6d2ccfebc0f12ea6e8888cd81 GIT binary patch literal 756 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+7)1hnLR|HFcUer@tJ|~l(~sZ12XCgYITOD4_|f}swqAR7 z{^|Q0uRd8$-uwL1_vPmw`OiN(|MdMOXCE#-_wd)BziTf&nS1iy@4x@zmY@9i{ny`r z|Lmsi_nCL($M3%xYtLFt-s?F1z^&Jx_uhV4wCO^_uB%T!e*5$HU)8qDwo~^%eE-#Z z?%{90{=EM3$#~M?GdA`ugin z%bsf~tIxFVxz@S=#`|x-@;01r+I=lx{?X4re*gUQw`1RR^GSQN*PScfaxq}R(M!)i zge*Fiy86tChi_+{xYxG#`ps9LR$h3Nv;N$aqj#*P?5o&%sch?|m!E&s@4T|?{3F*{ z2MzmoPd;*6r)TH?|Np0!T~GlAVoXVpUoenME5Oj4EB*i&4}6|3jv*DdN-jMQJLDk1 z`areU@5PD)cGr!~tx5U{N0~G>RQ~_|VTNzQp>ucQEqC6xyg8S1v%@4t-|Jf)g!Uyr zu#|XQmgFdtqj{&ZsD-h#`F!y$Cx`jXZxkK~HErTCGUd22lf`VO`g0+P3dd+BOMQze z{5!dR=RXm%7nmaOpnXA8@2(9mN=w8irf=VWA1 zj(|gLQJ=xz6ABK0qvB(VC!Nr5ymRLH-J@~u8Jk`O{guD}QAVU)=Ipn{%x-f|tYuK| zVLG*s_tG4nTWo5)KGH2G{5MRnNYU!~{&0$Qd-ID~G4V&&KU{JA?)_uWtFKk;HsADh i`tBX}k3{O3co=RN``_nX%~1-B0R~T3KbLh*2~7aYh{q=Y literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/cmanager/user.png b/wp-content/plugins/advanced-access-manager/media/css/images/cmanager/user.png new file mode 100644 index 0000000000000000000000000000000000000000..67c20525f904363f947a90d819768534ac3b01f0 GIT binary patch literal 738 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+7&!ubLR?KvO(#yAXkubwXJ?m_lM@>o`{~oC(9qEB+qYl5 zcyYyw6~~VspF4N%h7B8*FJJE9;E({TFH*YRlwCKf)7Yi0F`2G9$s#U8# ze*9=_Yin+9Zf|e@`Sa(MD_1^y_H6d-**|{#Xl`zHcX$8$_itomWOa4*w{PF3PoM7R z=T}!(S6p0t_3G7q`}T#0hxhdK6ciM6c6N4jbkx??K6>=%FT-m>We`{-NTU%RiZ|~v5hbt>9U0hsd z%$Sjzn`>cV5f~Wg=;-L}?cLSYRajV9US9s{)vGmY*4(~*+t}Fn|Ns9A%nN1#11_Q@ z$S)Ykr3GN9n0<%?816itE{-7;w@NNO4?E-_!1}<~W8wEa)+G@dT;G~lS*P~p-TUur zlO{Z4gYoxpzjx(+W$A}>CM=1+XmWIZ%X^6mz8QD=Bo7>%eQNFsUmgk3eSVL`7>oIg z92~ftI(dq$1vXT3{weZ5r}E(u>v|!Lii1;YPO!XLenR(@z#IhymV*M)U%xNAejzrc zD=*&W!1kHtjuRrbFYVq}<-+LN!2ha!qZ?C?l;lt1G z9vSapcdS_bum61kuiP$~v!8AfOA+?w93qds}7<1DsJ=_M!pH%zfeQEB_W zvBSE(>R;5l{>8NxudY7*_w$k7I{TSbf0lig<4v9O$iIP+;aj}J?weo!1Jfe|gQu&X J%Q~loCIBLJl)3-_ literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/cmanager/visitor-active.png b/wp-content/plugins/advanced-access-manager/media/css/images/cmanager/visitor-active.png new file mode 100644 index 0000000000000000000000000000000000000000..d94efef56c5d5f41d61687dc225f543df9ef1233 GIT binary patch literal 910 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+7`*~~LR|m;`}gY0j~~DPCagGBxARKZ{u{Pa_ka2M+iAuD z{k~mh6Zic7`|szUzrX(c^__QQ<%LJ9FFyYB_uuzlf8KrjX)$T9%glq$GY@93J2&gZ zz0xfgH(Yso|LvFbHD|v4`qQ@edeX|%Gf&+0nseB0+J5_K`%Nb9v7Efuar%MhpT18% za=T>n#rPGc4&Qt2I_sc8->!XkUg`Gij9zx~%;R_0UVggt{KKwWFP?q;{_y?R_uqcK z`}XU@_g`_#Pj(-;`SSCRZP%Y$P1!g1)cvY$m&>+X%w2!Zd+yDl@J|9_*}7u$eApH~v(7YyXm4=^lXwJ`?9XM(4TV@SoV zk|{@v4m$|Aq@GkTHnu)yQ2fZi*todt-+!s8VyrVSmwng1s?(#AAZpPy<t z3a9J-ohXtNT07}XL$a)-m!&z=PZgukj5wAi`4d51Dh%^aEZb-KVC8MbcN)xbE6ZQk z@SSg65tV#Euke)a-CYWwCNciK5wM(L5u>ks@?W>c7jkBGj78nO?hS@(-fI{*+EsEH zbYIwAmUZNVK*OtMzvJBjED7@^T$xyoo}J2&!m7_6G1+e3dWJibWv*%nWEUJ@EG*-* ztz)vN+{bz0=_^L&+fMA#txdC6FPz4wv!FgZhTW*?arXAszCbs2HrC^;4}_j9snbGMvPJM-mJO~oy%J-2pS2A?#oKbgRuVc$@&>!we8>c!u}2@K6U Wn`T{m!ngt$%M6~belF{r5}E+-svYG3 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/cmanager/visitor.png b/wp-content/plugins/advanced-access-manager/media/css/images/cmanager/visitor.png new file mode 100644 index 0000000000000000000000000000000000000000..ee08c36fe0d7f69725a2cd1beaea49516fa6926f GIT binary patch literal 872 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/common/medium-iconset.png b/wp-content/plugins/advanced-access-manager/media/css/images/common/medium-iconset.png new file mode 100644 index 0000000000000000000000000000000000000000..d3d8593ef4953d81b1cf7197d7d640689b3bbfcd GIT binary patch literal 8883 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 T42~7-In@{J2Ie{jsJH9iH~S%7 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/common/small-iconset.png b/wp-content/plugins/advanced-access-manager/media/css/images/common/small-iconset.png new file mode 100644 index 0000000000000000000000000000000000000000..e5d7a609d360279a97b3ebceb549d7f48ffcaa94 GIT binary patch literal 6045 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 XgvRT}d|^N300000NkvXXu0mjfrf|M* literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/common/warning.png b/wp-content/plugins/advanced-access-manager/media/css/images/common/warning.png new file mode 100644 index 0000000000000000000000000000000000000000..26d0c8e3a9e275d53db08d5e366928f0aa49e013 GIT binary patch literal 356 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI13?%1G+4BcTNtU=qlmzFem6RtIr7}3CKWdu;WU`dc)Fp!G^7*yBJOae--@^ouYQOtY`2d4qjcUM!mKh&_u4eFb^>bP0l+XkK8D^?3 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/cpanel/cpanel-loader.gif b/wp-content/plugins/advanced-access-manager/media/css/images/cpanel/cpanel-loader.gif new file mode 100644 index 0000000000000000000000000000000000000000..507c6dfdfd8c985b7792c6a59a398f74e58645ec GIT binary patch literal 3951 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/event/delete-active.png b/wp-content/plugins/advanced-access-manager/media/css/images/event/delete-active.png new file mode 100644 index 0000000000000000000000000000000000000000..f22a8e3511d5d1feeee2457b89fee33575abcf9a GIT binary patch literal 311 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!fo%K)Dc*F$1r&*sm6I&0P;5s?qaj~^5gIwUOobk3Z!4i5Xd zxIUgd`Qg~HGuGB0jvhTED*Ex%sl(#p`#CxP|No!3b=?b~A;Kj=e!)O48erH|dxrxk zUFzxL7*cU7gDd_^49TBur!TlmwmJ@V7Bv{*Qe+3o&KH4WOmlJNS8HqQ4I4JBUAxxG%4+rM)iyRZ7cX91zka=miAiE& z;-yQME?l?}8yjn9XJ>D3fByXW%aJ+ukJk}|1E}9?I78dD{M!HTV0Z%~!+d`MoA71aQ-Rhqc)I$ztaD0e0s#MbhVK9X literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/event/edit-active.png b/wp-content/plugins/advanced-access-manager/media/css/images/event/edit-active.png new file mode 100644 index 0000000000000000000000000000000000000000..b853566927b3aaad78a7fbb2f59fbfd0b6e7e5ab GIT binary patch literal 618 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8&jCImuCB8V`p-Z56n|Ni^uHtSIT zp0k^666efgo&v-AJ||DR`RC~?rL%UO2$`y-umsDtkajC znET~ZebVAjYLacTilUQeO)x!qRcx_DyV&n2d*SUYUA#(XPy0nLUF4(C`1#if%?lA) zIwGa}-stlq~@87?5>(-ewXMX(n@%;Jo%*@O$U%o6~zTDj0 zeD>_w_V)H|ZEZO@IdkUB`S|hU%9SfOZrph6*s*u--le6bEn2kb_wU~!At8BrdA`2B zfByVQNlAJA`gLb#XKih5a&q$b@81s}KK$UpgR57sIypHVI&^6M{P|&FVJC<>sN4aaBpw#ix)4Fl9HZ2ecIL4_4n`J!otF-Q>W(U=7xrb8XFt`|Ns9aQ&}_6 zo1P^>e!)O4RR9AI$NW&Bq02p8978H@`Al#XJ8ZziD!V=N@R`)Kv}Y0D?E~XwGPcf+ zta-`pXm literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/extension/download-active.png b/wp-content/plugins/advanced-access-manager/media/css/images/extension/download-active.png new file mode 100644 index 0000000000000000000000000000000000000000..44be4d8649c95a38538771a1fdb7031a1ca1576d GIT binary patch literal 256 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI13?%1G+4BcTNtU=qlmzFem6RtIr7}3CiJy^%n%OivfbkcwMRE(Qu65a40Cu)_Dw|6^Xlf>~7!@1~!WUgPM> zJWa06_k@_%_FNU^dWA{4(}g~1NtQjxiv6-Kqd%heW{8`!xv+lzwD0RfiZkMdA*#H_IGqX*OKNz|7#dMqpo*Yv4bir3{{~elF{r5}E)$vSJSa literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/extension/forum-active.png b/wp-content/plugins/advanced-access-manager/media/css/images/extension/forum-active.png new file mode 100644 index 0000000000000000000000000000000000000000..f673a8d8ac9affe710b96e3d8410be40d95c3c4e GIT binary patch literal 350 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI13?%1G+4BcTNtU=qlmzFem6RtIr7}3C5kLm)-wRKi6543R%Ba^{t; z@lOs*G^TKW)$+|^t5ANsVB`78tG-+k%n-`znA#O_KttbP0l+XkK!-%BL literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/extension/forum.png b/wp-content/plugins/advanced-access-manager/media/css/images/extension/forum.png new file mode 100644 index 0000000000000000000000000000000000000000..ff122b95338bbe48ceb76947e987bb546c8c1dc6 GIT binary patch literal 350 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI13?%1G+4BcTNtU=qlmzFem6RtIr7}3CC>k(XU;S>Hva$rzk~Vnc%WW^k|4ieAQu@hJW!661j?=Oba4!+xK%Uh zrkIl=hwI$EqKE$fe|wb4Rr~zpHD`7D{+)Ws98}Vwr*=aiMdnn(ME(qsKQ40Sm9Ftm z4oftqaKF_G&0?!ie!F1P`R-X?E(vA`t?KCQia4O5`Ks7dX`|5MjMM77u1uV`Sy;5{ z)MQ3o$JA#L6SdWj&e~x5c-wYE(cI6gC&|wAKA0?#Ab$0^?9oq~;`+3tRA1ZHoO-G4 k&t70P`|`%Wmvj#>98^})&j04N59nqFPgg&ebxsLQ07SW(tpET3 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/extension/ok-active.png b/wp-content/plugins/advanced-access-manager/media/css/images/extension/ok-active.png new file mode 100644 index 0000000000000000000000000000000000000000..f82727320689b632c860c28dab75accaf635f1fe GIT binary patch literal 351 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI13?%1G+4BcTNtU=qlmzFem6RtIr7}3Cn67e7<(@$dbd337xJs zUKVf8ndiL$?D%3d8^Z|J(ed0)QI%OM?7@fm|fOaOKX7g+Qrwo-U3d6}M_8MG75O z;Bh`W%k0LT|2qz{22bPp<(ZT!x6PnvGP`7&b4Qe8ZNwwJP0dqf{EIx-mV91h9hzOf zDqQEdeo<0n-BevM-K_zdQv}72FX_48&2AR(m|=_jeYN(Pv-LVPDZ5>jSlJ^=51o_3!MB8tC$?Ej`iNt?rj52r7*5CFQI!PC{xWt~$(695Nelwbe= literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/extension/plus-active.png b/wp-content/plugins/advanced-access-manager/media/css/images/extension/plus-active.png new file mode 100644 index 0000000000000000000000000000000000000000..7352ffa152fd94c24cd3b4b9b3ba639d04b7ed44 GIT binary patch literal 342 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI13?%1G+4BcTNtU=qlmzFem6RtIr7}3CKA?)mfQrlzKag@vb1oiaB!|McmTv9a<0|Npz!>0SdGB3u&W7YyX00ftSrcQ}C3 zQ#@T9Ln>~anRHg@umVSm;FTF))F1q|&q=+sq~qB=+ky|$WhsmTlU4{Nyk%8beqeFQ z!Y31bmVPt$c>7SZ)qQH({avqol>R)=*zewdokh1%L&v>M_CUoGkwS-$XAG*Qd@W5~ zdvoD}{+O+8+fF43WcshY^NZunp?h6Ftc@6F3E!wXT({zn^Ue7a|L$=vd!o2kdqqD3 aGegaHt>-89tH=P|$KdJe=d#Wzp$PzG7@~~; literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/extension/plus.png b/wp-content/plugins/advanced-access-manager/media/css/images/extension/plus.png new file mode 100644 index 0000000000000000000000000000000000000000..7352ffa152fd94c24cd3b4b9b3ba639d04b7ed44 GIT binary patch literal 342 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI13?%1G+4BcTNtU=qlmzFem6RtIr7}3CKA?)mfQrlzKag@vb1oiaB!|McmTv9a<0|Npz!>0SdGB3u&W7YyX00ftSrcQ}C3 zQ#@T9Ln>~anRHg@umVSm;FTF))F1q|&q=+sq~qB=+ky|$WhsmTlU4{Nyk%8beqeFQ z!Y31bmVPt$c>7SZ)qQH({avqol>R)=*zewdokh1%L&v>M_CUoGkwS-$XAG*Qd@W5~ zdvoD}{+O+8+fF43WcshY^NZunp?h6Ftc@6F3E!wXT({zn^Ue7a|L$=vd!o2kdqqD3 aGegaHt>-89tH=P|$KdJe=d#Wzp$PzG7@~~; literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/extension/youtube-active.png b/wp-content/plugins/advanced-access-manager/media/css/images/extension/youtube-active.png new file mode 100644 index 0000000000000000000000000000000000000000..04dbd9c50fabcd8456f71357f173cd45887df6f7 GIT binary patch literal 385 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI13?%1G+4BcTNtU=qlmzFem6RtIr7}3Ch|LMo?>g|^o zoq1q6dGFraFQ*>8bL!FC#FeLYdUpQ*|Np>Q&09e2f+azI!9XqwU{GBG0D{!y|1Z0~#=>7k{^>SJCt6ga)-!-ev$q>=l7P5w|S941~_mSq&- zdzb3o)z{eSCZ3WbFMjQNt6a?z)u81O;pdV!SPMF^EVL6+dvsBl@$ajLq0i-+co+(| Ws7ScXpBf4D5`(9!pUXO@geCwdxwWPM literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/extension/youtube.png b/wp-content/plugins/advanced-access-manager/media/css/images/extension/youtube.png new file mode 100644 index 0000000000000000000000000000000000000000..9791d343a98d992400067ec01f065a43101fa748 GIT binary patch literal 385 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI13?%1G+4BcTNtU=qlmzFem6RtIr7}3CTxVdy9*UH*MPV>C>l%hK8j} zmpV8&?BBnC=FFLA&YVe0OEWe${{R2~-c1idmI{^x`2_>HD1bqA?aU;gF! zb1uH-JEXwF`e54WWw|e3{LU>A zW3vpX=LC>42jUw*?1*d`zM$*CVhICOtOJLh0H`GzK)fGlu>>(bdIqE2?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR49*T%@4eEA4CF{$v8q~dCNpz_f>Lql-FAVt&RpgP2hW&APWxJ~A~aF; zLbl`HNwF=f{2G}JvQAA}yZYADgv%0-x4M5?JY_F~V4XeBC*JjZA0t&KiSGQpZO?qO zZRbA!Svm9krZxF#(g`dwA*Ep(Q(WKeV>qY#B4$&!!RF_)o@}(M^b8CXaW|IU{hP~z yQN28V=1mLJdk3sP+?vAR@%>}zBEK)?F7d9}IUCHDH);U`k-^i|&t;ucLK6V)jHD+3 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/lock.png b/wp-content/plugins/advanced-access-manager/media/css/images/lock.png new file mode 100644 index 0000000000000000000000000000000000000000..acccc8e2bebfd41b1e1b1619ee6bd65abbb69e36 GIT binary patch literal 548 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/menu/checked.png b/wp-content/plugins/advanced-access-manager/media/css/images/menu/checked.png new file mode 100644 index 0000000000000000000000000000000000000000..39cc5417da713ebe908e8f36e2b315048f473023 GIT binary patch literal 430 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8x&WUL*Au$BC-wDz{P^+h?p+552M-SqJ3G6co*ow$7jJLx z&d$zz_4UV&9Xo#f__urazTUcZ($Mgvfx*i)YfkFvozT%ap{@P>!GrG)AHH0<@?Jy3 z%hjvD-MRDa_U#i|T0b5?zFSv!%E;*ZqepjZYro&W|7zX3)vH(U=j1$k^r*eP{r~^} zOUmDN0$rk2666;QEaktaVzD#yI8XU4@*rdrPI``4K=bP0l+XkKdV$!a literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/menu/unchecked.png b/wp-content/plugins/advanced-access-manager/media/css/images/menu/unchecked.png new file mode 100644 index 0000000000000000000000000000000000000000..66f709a09be8a341fe7daee9f96152b824d59e10 GIT binary patch literal 239 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/metabox/checked.png b/wp-content/plugins/advanced-access-manager/media/css/images/metabox/checked.png new file mode 100644 index 0000000000000000000000000000000000000000..39cc5417da713ebe908e8f36e2b315048f473023 GIT binary patch literal 430 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8x&WUL*Au$BC-wDz{P^+h?p+552M-SqJ3G6co*ow$7jJLx z&d$zz_4UV&9Xo#f__urazTUcZ($Mgvfx*i)YfkFvozT%ap{@P>!GrG)AHH0<@?Jy3 z%hjvD-MRDa_U#i|T0b5?zFSv!%E;*ZqepjZYro&W|7zX3)vH(U=j1$k^r*eP{r~^} zOUmDN0$rk2666;QEaktaVzD#yI8XU4@*rdrPI``4K=bP0l+XkKdV$!a literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/metabox/link-active.png b/wp-content/plugins/advanced-access-manager/media/css/images/metabox/link-active.png new file mode 100644 index 0000000000000000000000000000000000000000..c0f76821b1b25c1acd8a45ba0cb0f416567f80a6 GIT binary patch literal 511 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8MFBn`u7Cgi%UypiapmdzZ@(-%_we(N-*?`8&fRc+*R2<+ ztIwpbIpaO|@Wc0C0~Q=ze*Tfuj02u?4)47AqISoXq?Mhb!rxaGsIyIN=)e-2;0%*d)F>oL%mn#~5?*>CUHR{#%SC zwm+z160@**#5t#_@!6ix(Eab7U1ptsrQdcwI(99O($Uwg&7OaDe&DOQ`m8sx%;k6P z%c{GK;^}#(U&ef8Q|9@h*zEQ_fh}EFM)29SK()0~*8jhxay|0Z-=#0r4=~&oQHGUZJ6(6%`fP+1ZaDKmPprv!$hFMn*>65Xs@&Et-g&+H$2RhiiB*-rq z$Rz_X2t>~91{$%+)5S5Q;+D;X>tam~0?z3#6BctfCB3gT|NMXcvqcGUMMd#Ol8@rH zCHv`|ypsOZDO;~P;OT-h0voJ8Mx|Rpl!3^OJ5A3W ze+evQ%j!(}(9^kO5_#ce*=bs=HI;W*7$3Yk^Q0l|%*Tw4-fy-w_@vwl z%UoN>et}`0-3kZeHw~Li7Bl~n!oyx{7YRi)U@Bbi}z;M7`oq4*}3~!+8 O89ZJ6T-G@yGywp*W(+0( literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/metabox/unchecked.png b/wp-content/plugins/advanced-access-manager/media/css/images/metabox/unchecked.png new file mode 100644 index 0000000000000000000000000000000000000000..66f709a09be8a341fe7daee9f96152b824d59e10 GIT binary patch literal 239 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!fotpJ}8*W<^J+u7N9dwaXMxb*b&bar-nczFEy@x#Hv;n=Zb zt5>f+di1Ehz5W0H|22A#g#&f*l?3?(1Gxym;CkTB380Llr;B4q#jPX#hC&Pq9EVpe z(s=NH|7vDtb$)|r!GrG)AHH0<@?Jy3 z%hjvD-MRDa_U#i|T0b5?zFSv!%E;*ZqepjZYro&W|7zX3)vH(U=j1$k^r*eP{r~^} zOUmDN0$rk2666;QEaktaVzD#yI8XU4@*rdrPI``4K=bP0l+XkKdV$!a literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/post/info-active.png b/wp-content/plugins/advanced-access-manager/media/css/images/post/info-active.png new file mode 100644 index 0000000000000000000000000000000000000000..8ca8989f68d5bf035ec7dd1b375da14a2f5c6f59 GIT binary patch literal 414 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8iU6Mw*C!voRc^Z+x8hX!)=S&2KmYpc&)(6z1cK-kWU*2?I z0m!{2L4LtNE-`>%-zq%`pq>s-7srr_TPgkSLWd1FTqjm{&dsyl>(TW4z5&w`*JC;j zl|1wL1=vllnJv&&pKs|h{U?W4v!Tz)1*dl2-!otFc_>3%oATV96-~QDKfFrU%jI>w zaQJZM4eoN*h(L+F3!EFd3U0;;O%ScQFeNOc#9i4f(DwG_uhQpNZQT7+X7a|VU%wXr efB&CFf@V`JeF?hQAxvX;J1CV0idiMoG&_%@XJ$ N22WQ%mvv4FO#qrPy#fFL literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/post/loader.gif b/wp-content/plugins/advanced-access-manager/media/css/images/post/loader.gif new file mode 100644 index 0000000000000000000000000000000000000000..575332b0d365daebd5dc713ad0978ba00ab85f40 GIT binary patch literal 404 zcmZ?wbhEHb)Mnsj_{hNU|Nnp0+GSJrUj~wj|GE8KLxP+PrXejVBT({9HC1tT9(pe2~b*d75Iqrjh- zym3~`@ijG{XC&VH-jgz8#{5$Yy_~%Ybat?3pWV3jr3&9B##9lh{D@DreW&~`KbobJ z6m)z&b`wDkGXR>na#mLKo%~1qT*BKcA6E7(xw2rzF1}^lhhF<6n{_@vdG6)Upjk84 zn4U4{aXzJznDZA7_33z1_l7Q2A8G) literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/post/lock-big.png b/wp-content/plugins/advanced-access-manager/media/css/images/post/lock-big.png new file mode 100644 index 0000000000000000000000000000000000000000..61d9f61f550fc67a8f529bf3e01b9818294630cb GIT binary patch literal 1191 zcmc(d`8(SO0LH(<+*eSyNV@9gR)#)Wv6v%dq75}{9>+xMW+*c(tdu>>YEK^1IZ`~# z@s#yp@H*!w*1`+44<-?!oc+FwiER2={StpKDC=9-`W zXH~`PY#1mOT*D;WH#|EeJs~?c_8TmKh)<8hLIYA`A7e4t*!XWV>Dc=KpiuMR^HAUI z=4LUSE@81ojf}|Z>c>kbB`RO)U=$FQE>>DJaEgCSjCpLBI)B_>Wd zJD&-K?35IWh6XbzXjoTQva&+a)EtAsMommuPoD5fOK1H2=EK5v+S+K=);sO(@0*%t zkVvY9#Xln>hf`A{H*RpUvZ&_f{ECXb-d=Wc@+KZH9v^2VC0(4HEMu`}`}-q?hWxTJ zs+rkxLc(ld;A%m^u#S#wdwajHZwv}$z~SRIHnS*{U|?X(((>KSo5Nr*-O1^AVL`gF zu^1I~ytpWQ`}RyA*zN3`bay}DayM&g&c$LWkGI|0I_>Q}7ZP%Ddb-`xA|Mjiii@eH zrt-r>x`V?3iL{2par5(6i;6foIU*X3;pH`=uRm&REa>l-u-VMuVBye^kW7{=FEczn z*Q=^l3kz2=Gshqh+1}oyo7?2wyW@6t+`PQ^1j5|IhvWA4Qa*qF(W4U%hkobIZdVsK zH+QS9?m{ZPyttrfX-zr-VAn-j0077&zy}eU zx3aY)i`GLJ02v#hX-Y69s-n^h7qD}6U&y3g`g~fou{d0} z)5WRa1Lnrd3NVXM?f-FF9LU_a)xiGy2wV?_EG~7dDKt-mgO!bO9g$i4Dk`nFTjstJ zBq>S>1FS3?cGPc+mACoN(5TlAf9WKC_KV@q&!?q6YdW$Bdp=BP`y!a6>L|u2ibj5T z8qaI9FoGuoYCyL$6vTVitu0rIK`Lh>{vPz0eLg5Sl;9Ql{T}>cS6h`o6?Vc@;)uzO zZ)i2d<4_A?#bCZQ&a8G~4@jv;s5||Ls+~6emH9;OeutE{65jhDY+Zy%e)GEo#9nX*is+t^%p^y_CMaxux>pCRpMS@=95!S0oTla}aJ)g{~iriu$kVJuxv%JTJNxuh20=9l= zO3(j^h7^pRFUn-uPTqYPMQuAR{JuW^P{MRFC$_1GV!sOTnMKFK?7+5 X3>te>HvX*f`nEuTFWTp|cTCB@yn361 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/post/lock.png b/wp-content/plugins/advanced-access-manager/media/css/images/post/lock.png new file mode 100644 index 0000000000000000000000000000000000000000..acccc8e2bebfd41b1e1b1619ee6bd65abbb69e36 GIT binary patch literal 548 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8s{uYCu4f$_4sdhdE-k$p6Z5FA?~thISzFt)c6MhhEsrWH zp0Tp}`~CYd6_xX@t~W9>@3*x4`Sj^}TH1rQwhzaSU5Sc1ZDDa(LgL%qyT9JNc{*p# zuXpc0ojv>S@85g%^eZ)=j1Egmo_BM*=<9nqH1wd5(5Lg~A9i(p zzHs5Bp5C2`ipwD(-yb~q{qf_ArAsdb2cI@GJMZp(SX_KRC+GkF|Id2(l>ot@pfb?Y)SGXnwwyuH0|-MaPa)vI5> zegy>uEn2iFJUsm7&6^=1AxoDoy?F7Wt*z~*O`AePL!Uf(^6c5Od-v|We*N0l*LU;g z%^Nmsc=6(ewYBy3?b{bGUTkG$b^iSMr%#`nn3(L@v*+8lZ;u~8K6UEUjT<*iO-;SL zyj)#ffByXGB z3{Owbj~_oidi2P_!C~XZjYp3jU9x0}y}iA$vGM=^|L?17+X4OMQWE4B4CGP@7z!`- z3jxhr=jq}YQgO@Y{8g!D1D=M!k{yQ=-o48!3HbEy{g!PTYJcnd7fmc+Soboqr}`6T zhK$ChDXBN}w&)xYsyLXWyi%fzheyV!LgeTkXT{^1&A;s|?es-6W|c+n<@>wMnQ`SG zr|YHGnQ?*Bb6rY5`WB@Lo|EK}_+hw2^vLX7fg9hxa6576-;z*MRk#{?-9sZ>kd=9B z(0panOU6e3{L~|v{#W;@p5$tLRXZtt7lS+_8-qfh?wyT66{$d%GkCiCxvXf+di1Ehz5W0H|22A#g#&f*l?3?(1Gxym;CkTB380Llr;B4q#jPX#hC&Pq9EVpe z(s=NH|7vDtb$)|rSm_-=Dw#{{H(Hy7+k4 z{u|$a{c)dtsBza-w^@g-z4*B9@{`CVCxR9pbDVy_W#+-&gEtqQd9e8G!>_;ooOt;5 z>Bny!`>szoe5>!!t;6?Tmu!}--0A5T7V+jzom@41K1Jbt(H=8J-j7k>Qy z`{n2F_uqakJOAk0uRj-`eYo`egVT%yC7Um9y!!O!t51CgZ=QPecEgpYH(q^u_w8rp zw#%P?{Qmjp@9j6A<5ry7f9KWnPv5V-{Pf`6*O+A|i#K14U4GJH(%v^;f0|C*bMDFe z+8tMlHeJ|$Ml0=wev%3ehR;%1_V2NX{!`D;rTea);pl&hIu;2A;fK}=&gMT2 QfIeXGboFyt=akR{0CdZTY5)KL literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/search.png b/wp-content/plugins/advanced-access-manager/media/css/images/search.png new file mode 100644 index 0000000000000000000000000000000000000000..d02dcc14ce5946ec96921a0c1d2270bfb3c16d54 GIT binary patch literal 662 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2v2cM(zNg5Z6C{{`mU(_V)JH*493G@+3Ms`sU4>n>KCw{rh)W zSy@$8mA$=vdwcuWuV0rfTb7!d+TY*r?(QBD5pnC*t$+XiJ%0Sy$jGRpqvO}FU*Erf z|Mu5a6aW7Gd-Ukh^XJdsxN&38o;{wPp5^7`>(;IF_V&Jh{rba)58u6e zH)F<($&)8<*|O#R`}Za$CT(qPW@ct3B_)N0h3C$ln>1-sR8&-ae0)$)ke8R&>C>kt zPMmo1gGpG{3orKP3j=H|Axwojiv-MMq8hlfW}Qj(RG)u~gbjE#-||NkEypPmT} zyU3CtzhEGjCV;`em60E4$sSJ^$B>F!KIg6qH5&-91}tF;(a2p043T&5CjI@dujyIw zqW0#QnRCykGCZiRoP9WKL88NhoJ)IZ61J-`TYPJgZ*8;oNJ#LO*!@mXGTZaMlIOQS z5=z%DPCVokXgK5hIi=RFq=N;zPp8Q-tzE->SVeTjU1znw>~SjYl9swQmG2m5R?Yi1 zqttBU-I6o)d5b19u-sZ5KA$&wR_K$@m-y1JF22vLxa6nAVv)Z4>lB~-V*YST@YO$N fm)N2|>IWG9KDC=I`AF6a=nn=@S3j3^P6$x4)UQ;Mv{#-(J4@S=Dg& z|NsB?z2fVECQFqB`2_>H*a3rx62mQ!TRmMILn>}1O*q2B^W#WFi>2WamLIJbjvld8 zsbINyWQMAWic7%JBR?9Fd}2-{tyv_baNt<4%CXZY7?^tAwA?jsIl{oi!%$MCShgj1 R;y0jy44$rjF6*2UngCo#mL&iH literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/sort_asc_disabled.png b/wp-content/plugins/advanced-access-manager/media/css/images/sort_asc_disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..9a4f67a7152cca3d3416633dd7b2c2bc110c57a1 GIT binary patch literal 291 zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S3?yCqj{O5tk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5X`~rMJT$x4)UQ;Mv{#-(J4@S=Dg& z|NsB?z2fVECQFqB`2_>H*a3rx62mQ!TRmMILn>}1O*q2B^W#WFi>2WamLIJbjvld8 zsbINyWQMAWic7%JBR?9Fd}2-{tyv_baNt<4%CXZY7?^tAwA?jsIl{oi!%$MCShgj1 R;y0jy44$rjF6*2UngCo#mL&iH literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/sort_both.png b/wp-content/plugins/advanced-access-manager/media/css/images/sort_both.png new file mode 100644 index 0000000000000000000000000000000000000000..41d51c519b097bdebfa940d9d751f6b503e83ff6 GIT binary patch literal 297 zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S3?yCqj{O5tk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5XYyx~jT>t(1_xkngd-v`=d-m+<)2E+5fByON=lAd5U%q_# z;K74mzkYrD_U+TBPY)kH{QLLs`}glZeE4wp?%g|g?)?A%KcwnBE6^N~k|4ieAQv4l z`1?N>1j;9Sx;TbZ-0HdDF4UmF!+PODb@%uEt2^|V&UMuPZ2Kf^aj#LInN44N?Yd>M zYWrunx|l^jxVvNFG}Smk2c2!!S(p87pDP&(Jhq+rGS>JXZ?XNgvwCxDot9s(%+}uj fZPU${ng$x4)UQ;Mv{#-(J4@S=Dg& z|NsB?z2fVECQFqB`2_>H*a3rx62mQ^DrZj@$B>F!NfVB+@HmI{%$>-{B2hW<$c~#T z4h~a9BlX3F13LV9uG$DLkT9Ml+hijo^XSDlu8-UaJ6eNhw1${7vq&&lb1If;FVge{ P8pq)2>gTe~DWM4fyEKgM literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/sort_desc_disabled.png b/wp-content/plugins/advanced-access-manager/media/css/images/sort_desc_disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..4f74db3937fa8bfcef8c6367b2997a099c2dc0ba GIT binary patch literal 263 zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S3?yCqj{O5tk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5XYyx~jT>t(1_xkngd-v`=d-m+<)2E+5fByON=lAd5U%q_# z;K74mzkYrD_U+TBPY)kH{QLLs`}glZeE4wp?%g|g?)?A%KcwnBE6^N~k|4ieAQv4l z`1?N>1j;*lx;TbZ+)5HS#=_$q))OkgR59U*#Ee#lhF1PaeQV)>j!x;THf{?f*k{Sc u>~Wft^Wqy9$EV~St&I~KL(G|3Bp6awORkZ%dvzRW7=x#)pUXO@geCx`BZ2(@ literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/table-filtered.png b/wp-content/plugins/advanced-access-manager/media/css/images/table-filtered.png new file mode 100644 index 0000000000000000000000000000000000000000..0bdd87c9c6af80d9cc9de6337f70dc348331c8ec GIT binary patch literal 382 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8`~aU2*Z(tw{;#(CKU3uYlSBV^#Qy*K{Qm~e|995^e|_oy zWcL4`9{yjV`+u(d{|Su$4;KDE)%Jgx@&AQt|9`yy|L(^BU5WoMP5=Mw*#DEw|F19k zKb8Cc$)^98XZ^pq;{V~Y|L6Mt@5}msy#D{0&i^w-|4(4}|Nnnoha3;kYSoe;zhEGj zAYiaR@8l2EP~z$07*cVo<(#)rlYxNi#pwceiX2@3L`6P*+waDqsbaLyz4rWq)e9Bc z?|W#de9IR)qLd@pyfgCl6PB5x-r|z722J@cUk-dRe9EXP{@`n!W`F#;3tOCC=`}33 zzQ}&zz0=m#>te4qZ~G>8;LF?RU*=5@Y+z)l*ekcN{=MBTp#2PU#XAO$G?=k{|A33hf2a5d61U}gmBRs1LAT$GwvlA5AW zo>`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!0m5Y~9sd L;uWgGz+epk&R;19 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/treeview/folder-close.png b/wp-content/plugins/advanced-access-manager/media/css/images/treeview/folder-close.png new file mode 100644 index 0000000000000000000000000000000000000000..fd2e9d2b875d6840c09f077b71f2ece2b17c5373 GIT binary patch literal 359 zcmV-t0hs=YP)UkyZ`{+hZ=``3*;ooVWe^c)C!eD{sLgC5Vk-~Q3)W* ztyhpGfRhkhWL7|(Muh>EzpfA5Zuis*m>b_dTaEmyd;?VYZOCAtx)lHb002ovPDHLk FV1k|Un5qB( literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/treeview/folder-closed.gif b/wp-content/plugins/advanced-access-manager/media/css/images/treeview/folder-closed.gif new file mode 100644 index 0000000000000000000000000000000000000000..541107888e6739a7b367ad3d208e1efa933f877d GIT binary patch literal 105 zcmZ?wbhEHb6ky4lrdiO0bk3ZcRLy6E?4f Hg~1vCyv-@{ literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/treeview/folder-open.png b/wp-content/plugins/advanced-access-manager/media/css/images/treeview/folder-open.png new file mode 100644 index 0000000000000000000000000000000000000000..30974575f61b21e1ccf74dfab1293710900a792b GIT binary patch literal 400 zcmV;B0dM|^P)b$3`5}tjTu>%gF=!-L$$W`7c?p~22Cyf z1I|%*Zw(3|aEO)+A_~Gb4UvRuFumokn|=+MWEz({MDKFoJ?A{{`9An>DFCrpY*GlZ z`n_SA=B=*lXI20K5Dtg8W&(kDE|=>z{C>YN;qx6-4CB7t?q6)R%;Q8NaVG$rswyLq z2(!T;08&acO&eKSUWtQ5%6@>pzc&tSh%dwA_2Th*yMWL7`{}B~p#V6n-e@IZJp#$} z4VlMEkC)EZ7o+Q&(*ocmTZvrn9-4!ejYdmJ4lk%B_ngv`9EgTO`R#cDaOs$m1=pH$ zV7#kSo4vOCDf^~9XHErx(llRw4p_-mDn6uAsiFW-oAt6?fU{;4p!12MQGFFv!xmtu uRw{M@W99Rm(e%ZU9l*O(u52a#nLYr>m1|h3cmy2)0000aCOj literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/treeview/folder.gif b/wp-content/plugins/advanced-access-manager/media/css/images/treeview/folder.gif new file mode 100644 index 0000000000000000000000000000000000000000..2b31631ca2bfec3a8afb1bfdd4f8ed4c5bcc3a18 GIT binary patch literal 106 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 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/treeview/treeview-gray-line.gif b/wp-content/plugins/advanced-access-manager/media/css/images/treeview/treeview-gray-line.gif new file mode 100644 index 0000000000000000000000000000000000000000..37600447dc002bbc0dd16e1391b711360aae2e34 GIT binary patch literal 1877 zcmeH``8OK|0LL@bF~qSc#n50?JXNI+k>{#)#go3O{g`&sTA06+?`JRv{%1VB*=kSggPTmbZ?E2@Hm10RaqGJr~M_swEK9(fuU z9bXMur@nY#Xn3Qp;v6X2AT> zA>EM+>y@m1^a49s_E1X&+bZH^!_a=e{N6Su)s&U>sDnd!~=b?JFEB#FT8 zioZMFaK52~t&52oqdWW~2MJ1ue%%?en#qCfU7u!nC|sSJi5E`}X3h8)ly{+5*|mp+ zYqNE`8MkZN-)k};oze-j%*tB&sNuZif|=0wM%!=l0sXF(V)Zg+3_ zjbW;EBEX2ytHG=$Dx2Ha{HE%5V3a1hHnd2R32m%R*9#gFWf^4tEW&~!6yIiV)*e*l zireg~b4-8KL1b9Tn<4TQc-aUN7>=bBxE!0Aep)ES$dA>bZ zlac_>GSf$}Amq|xpG2f_X<$)PU0E=BExZ&}FuYP8&bwD%fgJCOsK5%!A}jIpO{>+( zGV75wBp|A>JOyOlNY1dq-7SE-P1iq3bVQx6%Yk<{*5}84F?-+_`Yq}S#U}_=SCzX? zX`+&GsCqhDsvFh7AWWM#ck=(Rps}W(-f3)-hf$w$i>58wymeug)RAsnbE^=j9L-?f zpi-Z);Tuuyqj4L}9YcZxTIWO&p4K%*X3?0-?f4ef8jtm%XgkyEBd6Ds8uOK?%`{)>0D(Cr`A4IcZoG`&U18YKqjoYtzQo|Dt=**7zk597IbK9sJXFyhNi zwtW@gRcSW?gGKMW@kxrlG#OY-do~qJ*-V&3Js8`Y3GYwom_@$iB+g=ml}U5>1u1QR zAzAiA(jrL>&74Uwwqm}`xJ1AT;O_GsONn5#!*ULyhq;oEIkp%2g#mF(6lf@Jxhn4i zV~t87;8y4{2KZG5ao+KL=SUTJlQq*4|E@_PjJ3`!o(GG)^}?JsMpy*)mQYPCf1;Sk`8-A8at@Xm#Gb>oe(v%3b{156)aykj?nu&|IbZfh z!lZx$?iVd}BHwuNSkmco3iwy5Drr$xV-lid6PqT(u95$N>8c#Jm2RMN_SB1WJe9Oq z(x$uU@TQLQX@QVr>U~Sa;vEmbZ_QL7odp^*-BsqVXSqmf)oqYES3tl*66F0YO=#d1 rlgk$~puxAlhuJ^ZHqgioD1o1DVtQEUit~KllU0$5nh)jV0N{TCC3Zqn literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/treeview/treeview-gray.gif b/wp-content/plugins/advanced-access-manager/media/css/images/treeview/treeview-gray.gif new file mode 100644 index 0000000000000000000000000000000000000000..cfb8a2f0961b880d9ecc9e59f831d0c0bf9d06db GIT binary patch literal 1230 zcmZ?wbhEHbOkikb_|5F}1vNN-#bFE}n2rob1X65+pkEe*DZwLSXy)sc-G6LrLE|#j%ny@ltx#{|>*k3`b zudj+f+$8$@s#fHh^zF++cYjOsT#=i)PgZ*SBbQFk<=6g7TzYe_x%fYqoR5WW_>5Nf zsIRkcJbHA@c(c>D3XzqU)=k#8J9nngIK5|{y|vw$2$RE?mT4~XtDRLEe|<_~c?_?$ zLGJZ!!S{W4%zp58Z=>w%X})`Qe0&`0sXRUALwVLJuj#KvHA1S2+ow&BYJYdfr2O^1 zna!)!@5=7^`T51=)#j2iwbhrWRX*39_q(R{^Y??#w#k`8!n#b?Ah=gT4^b_6Je!p-pqnUi6)T{Kw4)JLb3tD)cb}Z;R&ALM=NKo^J zQum3S7LQAK7iB!^v-vhdvhxz-&N&k%mqtvOXdV2 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/treeview/treeview-red-line.gif b/wp-content/plugins/advanced-access-manager/media/css/images/treeview/treeview-red-line.gif new file mode 100644 index 0000000000000000000000000000000000000000..df9e749a8f1f58862588efc64988003efad01d51 GIT binary patch literal 1877 zcmeH``BxGK0LPh{$5cGF%CuRcF0W^1+Eb91Y0har@ns%QJPI-bCps}CP-u#GY96he zH{=x}8cR_?6wMSBHp}~@d8B5Ec_ztT`#0A2hwu02&*#0br`JzT&Np-c8>+j2FWJW9 z|J$$i)xiJGfXTkfHvoVFVDp9i%O?Qp3V=f6d5==7Sk4KMl>Ucik`YxtvJ<)$%#TPKR% zdeBegW3Nr-TZ$_DvX!7#=EQu`)|{{_NO4?Hnuz--`I}N3UjF&+?uwLk+=>GJd{B_Tc2OKbjN9H> z96NPSF%oo|+^NT@plDh-RsN>!ws$&N>eV+-RSK`GN-+xQlcpP|{VXMbZmGY?Sg+bE z&yqDeRb-m~Xn;($Rkc9os0lNWR0x7V&viYtFw425?`)O{#Xnxi^Z-rV%z`xuPf1K3U`ignx^9LiY{9RF`M1 z((4&CBBq9gRTxIqvdNQH4XvU-teM=&r#I{BRpE@Mf`UowW*aYDTj; zR~d}wJj7bmv%$EvhL%3@95+YnP@jZFjkyaK?LZqem&Cp}E@#J}7%>obDszfKXbSed{!N zqe%A5h1G9<<|OWgt(pyPNUi%mt_OllWQ$!DHV#9VzJogSLla83`aMi%;zcml$vXr7 zf<%YcL08HgN8s@2tufz(==0;jh0Ny@q4f1T-P5MdE9;FzHSA-Pm3Wn^KX5K-#%-h+YndE*c}A#} z97|nymmXX*xOhw~p_=<#*Rp;q1c;i_)TkyvQ;xgVtY5mTyh_&|ZEzU`%%?)%UDt;N sUpBjNE)^Df<9oQ%i{r+6SwTgJWAz*lYeQMK?>m|{T3!EviV6VoFXq=mv;Y7A literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/treeview/treeview-red.gif b/wp-content/plugins/advanced-access-manager/media/css/images/treeview/treeview-red.gif new file mode 100644 index 0000000000000000000000000000000000000000..3bbb3a157f1568d59d6db02b55a3b3fe9a1ff7a7 GIT binary patch literal 1230 zcmZ?wbhEHbOkikb_|5q9rFMYXq;dkzBCUd%AXV z7f->2WoKqf=UU0E5MF-1&C2oHA5RfQ-wyu&du5`wWCYCfT`X0jHDP7Qa?|x$vA=>= zUtbk}xJmT)RjtT1>D!lu?*5kMxgs}ppRDxuM=qV7%dh>Fxb)^;bMb#JIUft%@ENV{ zQD0}@c=YI)@n)xQ6(TDyt(&ZGckWD~aeB`@duzKh5hjN(Ez?}&S39dT{`!=}@)%xg zgWT)eg75q8nEl}G-bUHi(|q^r`1m-~Q+ayKhw`jdUejNTYJ^l3w@;fM)&A~|N%`x2 zGn-ed-<93-^Ye?#tIZ{4YO60#t9-6I?{`h@=kEuf$II8+R(@HSYaUSgyf$2+OgK}0 zZsRjUi+L5dHILtK5edt9=qI|b{eIzIMl<7PRm>?O4!tnstX#kf7!b zrS20uEgqNfF3Nb+XY*}_WalNuopUBkE{&Kl(L5+ZuF(6`HI*Fyu5b4nE$kweHiYk+ hA)Dse=Ki!azG~*A)!QcOwS?k)_>#w|r1Kptm-M`SUO z_5fqIli7AahM1>|V~EA+ zRdP`(kYX@0Ff`URu+%j)3^6jcGBmI literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/ui-bg_flat_75_ffffff_40x100.png b/wp-content/plugins/advanced-access-manager/media/css/images/ui-bg_flat_75_ffffff_40x100.png new file mode 100644 index 0000000000000000000000000000000000000000..9c371ee1c9ce43938b01446c9e83e823435b40ed 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*5)HFvQ5%%Fw{d)I!(5+{(Z}QvGHNiiX_$l+3hB+!`{f5-orl7(8A5 KT-G@yGywp>l{1b2 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/ui-bg_glass_55_fbf9ee_1x400.png b/wp-content/plugins/advanced-access-manager/media/css/images/ui-bg_glass_55_fbf9ee_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..3fce4a10da7340e48e30740bfd223c8d0bca0fea 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&ALnk^zc_-29Zxv`X9>&hcjT05vdpy85}Sb4q9e07k)eQvd(} literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/ui-bg_glass_65_ffffff_1x400.png b/wp-content/plugins/advanced-access-manager/media/css/images/ui-bg_glass_65_ffffff_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..a75596bb1c1e14d9fa0f154fa38fba1313cfc35d 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_VKYn`7#Uj`8d#Yc=^B_@85ryhZ##veAvZrIGp!Q0hBI7tAQv)ty85}S Ib4q9e01o6c6aWAK literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/ui-bg_glass_75_dadada_1x400.png b/wp-content/plugins/advanced-access-manager/media/css/images/ui-bg_glass_75_dadada_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..fdef16fabb5dab0357b193e6b726887cf4ebfbaa 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^XSEOiYHLyU~A3=OPIEp-jdtqctI2V62h(U6;;l9^VCTf;fttRA2S N22WQ%mvv4FO#oT^PF(;1 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/ui-bg_glass_75_e6e6e6_1x400.png b/wp-content/plugins/advanced-access-manager/media/css/images/ui-bg_glass_75_e6e6e6_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..385c0a3c989042cdfa6ce7272b6b5d977b37ac5f 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>4nC}Q!>*kaceloo7Dr< Oz~JfX=d#Wzp$Pz`OHOM5 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/ui-bg_glass_95_fef1ec_1x400.png b/wp-content/plugins/advanced-access-manager/media/css/images/ui-bg_glass_95_fef1ec_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..14f3ba7cf9929e19af4b0888c8bff8cfe70ef68b 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@aKYn`7#Uj`8d#ZH>Kd3^85ryj gxMYB$AvZrIGp!Q0hI71GJwOc%p00i_>zopr0Ji6IQUCw| literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/wp-content/plugins/advanced-access-manager/media/css/images/ui-bg_highlight-soft_75_cccccc_1x100.png new file mode 100644 index 0000000000000000000000000000000000000000..af6b6aa6c547c1a1abe354a763403e2f49834cf9 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*5)HFvQ5%%Fw{d)Kb^L+{(aU if50UJ6b-rgDVb@NxHX*P&FTSaVDNPHb6Mw<&;$T4x>`g4 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/ui-icons_222222_256x240.png b/wp-content/plugins/advanced-access-manager/media/css/images/ui-icons_222222_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..2259983b9069d452d1c0a777d5441a933f344ec8 GIT binary patch literal 4429 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 BYZ?Fm literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/ui-icons_2e83ff_256x240.png b/wp-content/plugins/advanced-access-manager/media/css/images/ui-icons_2e83ff_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..84b601bf0f726bf95801da487deaf2344a32e4b8 GIT binary patch literal 4549 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 F{{S81aohj^ literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/ui-icons_454545_256x240.png b/wp-content/plugins/advanced-access-manager/media/css/images/ui-icons_454545_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..017a02bad548093de7e8c3748e6fb280dfb9d597 GIT binary patch literal 4421 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 E0NJNtJ^%m! literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/ui-icons_888888_256x240.png b/wp-content/plugins/advanced-access-manager/media/css/images/ui-icons_888888_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..c2b6c708bdf6c53b3dd4c17ae5e701359598bc5d GIT binary patch literal 4368 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 C)_hR_ literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/images/ui-icons_cd0a0a_256x240.png b/wp-content/plugins/advanced-access-manager/media/css/images/ui-icons_cd0a0a_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..ed5b6b0930f672fa08e9b9bdbe5e55370fd1dc30 GIT binary patch literal 4549 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 DTfr$v literal 0 HcmV?d00001 diff --git a/wp-content/plugins/advanced-access-manager/media/css/jquery-ui.css b/wp-content/plugins/advanced-access-manager/media/css/jquery-ui.css new file mode 100644 index 0000000..d5464c5 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/media/css/jquery-ui.css @@ -0,0 +1,7 @@ +/*! jQuery UI - v1.10.3 - 2013-09-12 +* http://jqueryui.com +* Includes: jquery.ui.core.css, jquery.ui.resizable.css, jquery.ui.selectable.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.slider.css, jquery.ui.spinner.css, jquery.ui.tabs.css, jquery.ui.tooltip.css, jquery.ui.theme.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-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-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: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}.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: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%;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;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}.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:0.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.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: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}.ui-spinner a.ui-spinner-button{border-top:none;border-bottom:none;border-right:none}.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: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}.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/advanced-access-manager/media/css/jquery.dt.css b/wp-content/plugins/advanced-access-manager/media/css/jquery.dt.css new file mode 100644 index 0000000..494fb1a --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/media/css/jquery.dt.css @@ -0,0 +1,242 @@ +.dataTable { + margin: 10px auto; + clear: both; + width: 100%; + border: 1px solid #CCCCCC; +} + +table.dataTable thead th { + padding: 3px 18px 3px 10px; + border-bottom: 1px solid #CCCCCC; + font-weight: bold; + text-transform: uppercase; + cursor: pointer; + background-color: #257da6; +} + +table.dataTable tfoot td { + border-top: 1px solid #CCCCCC; +} + +table.dataTable td { + padding: 3px 10px; +} + +table.dataTable td.center, +table.dataTable td.dataTables_empty { + text-align: center; +} + +table.dataTable tr.odd { background-color: #E2E4FF; } +table.dataTable tr.even { background-color: white; } + +table.dataTable tr.odd td.sorting_1 { background-color: #D3D6FF; } +table.dataTable tr.odd td.sorting_2 { background-color: #DADCFF; } +table.dataTable tr.odd td.sorting_3 { background-color: #E0E2FF; } +table.dataTable tr.even td.sorting_1 { background-color: #EAEBFF; } +table.dataTable tr.even td.sorting_2 { background-color: #F2F3FF; } +table.dataTable tr.even td.sorting_3 { background-color: #F9F9FF; } + + +/* + * Table wrapper +*/ +.dataTables_wrapper { + position: relative; + clear: both; +} + + +/* + * Page length menu +*/ +.dataTables_length { + float: left; + margin-right: 5px; +} + +/* + * Filter +*/ +.dataTables_filter { + text-align: left; + width: 60%; + float:left; +} + +.dataTables_filter input{ + width: 90%; + height: 28px; + padding-left: 24px; + background: transparent url('images/search.png') no-repeat 5px center; +} + +.dataTables_filter input:focus{ + background: transparent url('images/search-active.png') no-repeat 5px center; +} + +.table-filtered{ + background: transparent url('images/table-filtered.png') no-repeat 2px center; + height: 16px; + display: inline-block; + padding-left: 20px; + font-size: 0.8em; +} + +a.clear-table-filter{ + text-decoration: none; + color: #257DA6; + font-size: 0.9em; + font-weight: bold; +} + +/* + * Table information +*/ +.dataTables_info { + clear: both; + float: left; +} + + +/* + * Pagination +*/ +.dataTables_paginate { + float: right; + text-align: right; + font-size: 0.8em; +} + +/* Two button pagination - previous / next */ +.paginate_disabled_previous, +.paginate_enabled_previous, +.paginate_disabled_next, +.paginate_enabled_next { + height: 19px; + float: left; + cursor: pointer; + *cursor: hand; + color: #111 !important; +} +.paginate_disabled_previous:hover, +.paginate_enabled_previous:hover, +.paginate_disabled_next:hover, +.paginate_enabled_next:hover { + text-decoration: none !important; +} +.paginate_disabled_previous:active, +.paginate_enabled_previous:active, +.paginate_disabled_next:active, +.paginate_enabled_next:active { + outline: none; +} + +.paginate_disabled_previous, +.paginate_disabled_next { + color: #666 !important; +} +.paginate_disabled_previous, +.paginate_enabled_previous { + padding-left: 23px; +} +.paginate_disabled_next, +.paginate_enabled_next { + padding-right: 23px; + margin-left: 10px; +} + +.paginate_enabled_previous { background: url('images/back_enabled.png') no-repeat top left; } +.paginate_enabled_previous:hover { background: url('images/back_enabled_hover.png') no-repeat top left; } +.paginate_disabled_previous { background: url('images/back_disabled.png') no-repeat top left; } + +.paginate_enabled_next { background: url('images/forward_enabled.png') no-repeat top right; } +.paginate_enabled_next:hover { background: url('images/forward_enabled_hover.png') no-repeat top right; } +.paginate_disabled_next { background: url('images/forward_disabled.png') no-repeat top right; } + +/* Full number pagination */ +.paging_full_numbers { + height: 22px; + line-height: 22px; +} +.paging_full_numbers a:active { + outline: none +} +.paging_full_numbers a:hover { + text-decoration: none; +} + +.paging_full_numbers a.paginate_button, +.paging_full_numbers a.paginate_active { + border: 1px solid #aaa; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; + padding: 2px 5px; + margin: 0 3px; + cursor: pointer; + *cursor: hand; + color: #333 !important; +} + +.paging_full_numbers a.paginate_button { + background-color: #ddd; +} + +.paging_full_numbers a.paginate_button:hover { + background-color: #ccc; + text-decoration: none !important; +} + +.paging_full_numbers a.paginate_active { + background-color: #99B3FF; +} + + +/* + * Processing indicator +*/ +.dataTables_processing { + position: absolute; + top: 50%; + left: 50%; + width: 250px; + height: 30px; + margin-left: -125px; + margin-top: -15px; + padding: 14px 0 2px 0; + border: 1px solid #ddd; + text-align: center; + color: #999; + font-size: 14px; + background-color: white; +} + + +/* + * Sorting +*/ +.sorting { background: url('images/sort_both.png') no-repeat center right; } +.sorting_asc { background: url('images/sort_asc.png') no-repeat center right; } +.sorting_desc { background: url('images/sort_desc.png') no-repeat center right; } + +.sorting_asc_disabled { background: url('images/sort_asc_disabled.png') no-repeat center right; } +.sorting_desc_disabled { background: url('images/sort_desc_disabled.png') no-repeat center right; } + +table.dataTable thead th:active, +table.dataTable thead td:active { + outline: none; +} + + +/* + * Scrolling +*/ +.dataTables_scroll { + clear: both; +} + +.dataTables_scrollBody { + *margin-top: -1px; + -webkit-overflow-scrolling: touch; +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/media/css/jquery.treeview.css b/wp-content/plugins/advanced-access-manager/media/css/jquery.treeview.css new file mode 100644 index 0000000..f6b1be6 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/media/css/jquery.treeview.css @@ -0,0 +1,117 @@ +.treeview, .treeview ul { + padding: 0; + margin: 0; + list-style: none; +} + +.treeview ul { + + margin-top: 4px; +} + +.treeview .hitarea { + background: url(images/treeview/treeview-default.gif) -64px -25px no-repeat; + height: 16px; + width: 16px; + margin-left: -16px; + float: left; + cursor: pointer; +} +/* fix for IE6 */ +* html .hitarea { + display: inline; + float:none; +} + +.treeview li { + margin: 0; + padding: 3px 0pt 3px 16px; +} + +.treeview a.selected { + background-color: #eee; +} + +#treecontrol { margin: 1em 0; display: none; } + +.treeview .hover { color: red; cursor: pointer; } + +.treeview li { background: url(images/treeview/treeview-default-line.gif) 0 0 no-repeat; } +.treeview li.collapsable, .treeview li.expandable { background-position: 0 -176px; } + +.treeview .expandable-hitarea { background-position: -80px -3px; } + +.treeview li.last { background-position: 0 -1766px } +.treeview li.lastCollapsable, .treeview li.lastExpandable { background-image: url(images/treeview/treeview-default.gif); } +.treeview li.lastCollapsable { background-position: 0 -111px } +.treeview li.lastExpandable { background-position: -32px -67px } + +.treeview div.lastCollapsable-hitarea, .treeview div.lastExpandable-hitarea { background-position: 0; } + +.treeview-red li { background-image: url(images/treeview/treeview-red-line.gif); } +.treeview-red .hitarea, .treeview-red li.lastCollapsable, .treeview-red li.lastExpandable { background-image: url(images/treeview-red.gif); } + +.treeview-black li { background-image: url(images/treeview/treeview-black-line.gif); } +.treeview-black .hitarea, .treeview-black li.lastCollapsable, .treeview-black li.lastExpandable { background-image: url(images/treeview-black.gif); } + +.treeview-gray li { background-image: url(images/treeview/treeview-gray-line.gif); } +.treeview-gray .hitarea, .treeview-gray li.lastCollapsable, .treeview-gray li.lastExpandable { background-image: url(images/treeview-gray.gif); } + +.treeview-famfamfam li { background-image: url(images/treeview/treeview-famfamfam-line.gif); } +.treeview-famfamfam .hitarea, .treeview-famfamfam li.lastCollapsable, .treeview-famfamfam li.lastExpandable { background-image: url(images/treeview-famfamfam.gif); } + +.treeview .placeholder { + background: url(images/treeview/ajax-loader.gif) 0 0 no-repeat; + height: 16px; + width: 16px; + display: block; +} + +.filetree li { padding: 3px 0 2px 16px; } +.filetree span.folder { padding-left: 18px; display: block; } +.filetree span.folder { background: url(images/treeview/folder-open.png) 0 0 no-repeat; } +.filetree li.expandable span.folder { background: url(images/treeview/folder-close.png) 0 0 no-repeat; } +.filetree span.folder a{ + text-decoration: none; +} + +.treeview .important{ + font-weight: bold; +} + +.treeview .roots{ + font-weight: bold; + color: #257DA6; +} + +#sidetreecontrol{ + font-size: 12px; + margin-bottom: 10px; + float: right; + padding-bottom: 6px; + border-bottom: 2px solid #257DA6; +} + +#sidetreecontrol span{ + color: #006505; + text-decoration: underline; + cursor: pointer; +} + +#sidetreecontrol span:hover{ + color: #257da6; +} + +.tree-holder{ + width: auto; + padding: 10px; +} + +#sidetreecontrol a{ + color: #006505; + outline: none; +} + +#sidetreecontrol a:hover{ + color: #257da6; +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/media/js/aam.js b/wp-content/plugins/advanced-access-manager/media/js/aam.js new file mode 100644 index 0000000..ae853de --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/media/js/aam.js @@ -0,0 +1,3034 @@ +/** + * ====================================================================== + * LICENSE: This file is subject to the terms and conditions defined in * + * file 'license.txt', which is part of this source code package. * + * ====================================================================== + */ + +/** + * Main AAM UI Class + * + * @returns {AAM} + */ +function AAM() { + + /** + * Current Subject + * + * @type {Object} + * + * @access public + */ + this.subject = { + type: 'role', + id: aamLocal.defaultSegment.role + }; + + /** + * Current Post Term + * + * @type {Int} + * + * @access public + */ + this.postTerm = ''; + + /** + * User Role to filter + * + * @type String + * + * @access public + */ + this.userRoleFilter = aamLocal.defaultSegment.role; + + /** + * ConfigPress editor + * + * @type {Object} + * + * @access public + */ + this.editor = null; + + /** + * JavaScript Custom Actions + * + * @type Array + */ + this.actions = new Array(); + + //Let's init the UI + this.initUI(); +} + +/** + * List of Blog Tables + * + * @type {Object} + * + * @access public + */ +AAM.prototype.blogTables = { + capabilities: null, + inheritRole: null, + postList: null, + eventList: null, + filterRoleList: null +}; + +/** + * List of Segment Tables + * + * @type {Object} + * + * @access public + */ +AAM.prototype.segmentTables = { + roleList: null, + userList: null +}; + +/** + * Add Custom Action to queue + * + * @param {String} action + * @param {Fuction} callback + * + * @returns {void} + */ +AAM.prototype.addAction = function(action, callback) { + if (typeof this.actions[action] === 'undefined') { + this.actions[action] = new Array(); + } + + this.actions[action].push(callback); +}; + +/** + * Do Custom Action queue + * + * @param {String} action + * @param {Object} params + * + * @returns {void} + */ +AAM.prototype.doAction = function(action, params) { + if (typeof this.actions[action] !== 'undefined') { + for (var i in this.actions[action]) { + this.actions[action][i].call(this, params); + } + } +}; + +/** + * Set Current Subject + * + * @param {String} type + * @param {String} id + * + * @returns {void} + * + * @access public + */ +AAM.prototype.setSubject = function(type, id) { + //reset subject first + this.subject.type = type; + this.subject.id = id; +}; + +/** + * Get Current Subject + * + * @returns {void} + * + * @access public + */ +AAM.prototype.getSubject = function() { + return this.subject; +}; + +/** + * Initialize the UI + * + * @returns {void} + * + * @access public + */ +AAM.prototype.initUI = function() { + //initialize side blocks - Control Panel & Control Manager + this.initControlPanel(); + this.initControlManager(); + + //Retrieve settings for default segment + this.retrieveSettings(); + + //init contextual menu if necessary + this.initContextualMenu(); +}; + +/** + * Initial Contextual Menu + * + * @returns void + * + * @access public + */ +AAM.prototype.initContextualMenu = function(){ + var _this = this; + if (parseInt(aamLocal.contextualMenu) !== 1){ + jQuery('#contextual-help-link-wrap').pointer({ + pointerClass : 'aam-help-pointer', + pointerWidth : 300, + content: aamLocal.labels['AAM Documentation'], + position: { + edge : 'top', + align : 'right' + }, + close: function() { + jQuery.ajax(aamLocal.ajaxurl, { + type: 'POST', + dataType: 'json', + data: _this.compileAjaxPackage('discardHelp', false) + }); + } + }).pointer('open'); + } +}; + +/** + * Initialize tooltip for selected area + * + * @param {String} selector + * + * @returns {void} + * + * @access public + */ +AAM.prototype.initTooltip = function(selector) { + jQuery('[aam-tooltip]', selector).hover(function() { + // Hover over code + var title = jQuery(this).attr('aam-tooltip'); + jQuery(this).data('tipText', title).removeAttr('aam-tooltip'); + jQuery('
        ', { + 'class': 'aam-tooltip' + }).text(title).appendTo('body').fadeIn('slow'); + }, function() { + //Hover out code + jQuery(this).attr('aam-tooltip', jQuery(this).data('tipText')); + jQuery('.aam-tooltip').remove(); + }).mousemove(function(e) { + jQuery('.aam-tooltip').css({ + top: e.pageY + 15, //Get Y coordinates + left: e.pageX + 15 //Get X coordinates + }); + }); +}; + +/** + * Show Metabox Loader + * + * @param {String} selector + * + * @returns {void} + * + * @access public + */ +AAM.prototype.showMetaboxLoader = function(selector) { + jQuery('.aam-metabox-loader', selector).show(); +}; + +/** + * Hide Metabox Loader + * + * @param {String} selector + * + * @returns {void} + * + * @access public + */ +AAM.prototype.hideMetaboxLoader = function(selector) { + jQuery('.aam-metabox-loader', selector).hide(); +}; + +/** + * Compile default Ajax POST package + * + * @param {String} action + * @param {Boolean} include_subject + * + * @returns {Object} + * + * @access public + */ +AAM.prototype.compileAjaxPackage = function(action, include_subject) { + var data = { + action: 'aam', + sub_action: action, + _ajax_nonce: aamLocal.nonce + }; + if (include_subject) { + data.subject = this.getSubject().type; + data.subject_id = this.getSubject().id; + } + + return data; +}; + +/** + * Disable roleback button + * + * @returns void + * + * @access public + */ +AAM.prototype.disableRoleback = function(){ + jQuery('#aam_roleback').addClass('disabled'); +}; + +/** + * Enable roleback button + * + * @returns void + * + * @access public + */ +AAM.prototype.enableRoleback = function(){ + jQuery('#aam_roleback').removeClass('disabled'); +}; + +/** + * Initialize Control Panel Metabox + * + * @returns {void} + * + * @access public + */ +AAM.prototype.initControlPanel = function() { + var _this = this; + //Role Back feature + var roleback = this.createIcon('large', 'roleback').append('Roleback').bind('click', function(event) { + event.preventDefault(); + if (!jQuery(this).hasClass('cpanel-item-disabled')){ + var buttons = {}; + buttons[aamLocal.labels['Rollback Settings']] = function() { + _this.showMetaboxLoader('#control_panel'); + jQuery.ajax(aamLocal.ajaxurl, { + type: 'POST', + dataType: 'json', + data: _this.compileAjaxPackage('roleback', true), + success: function(response) { + if (response.status === 'success') { + _this.retrieveSettings(); + _this.disableRoleback(); + } + _this.highlight('#control_panel .inside', response.status); + }, + error: function() { + _this.highlight('#control_panel .inside', 'failure'); + }, + complete: function() { + _this.hideMetaboxLoader('#control_panel'); + jQuery("#restore_dialog").dialog("close"); + } + }); + }; + buttons[aamLocal.labels['Cancel']] = function() { + jQuery("#restore_dialog").dialog("close"); + }; + + jQuery("#restore_dialog").dialog({ + resizable: false, + height: 180, + modal: true, + buttons: buttons + }); + } + }); + jQuery('#cpanel_major').append(roleback); + + //Save the AAM settings + var save = this.createIcon('large', 'save').append('Save').bind('click', function(event) { + event.preventDefault(); + _this.showMetaboxLoader('#control_panel'); + + //get information from the form + var data = _this.compileAjaxPackage('save', true); + //collect data from the form + //1. Collect Main Menu + if (jQuery('#admin_menu_content').length){ + jQuery('input', '#admin_menu_content').each(function() { + data[jQuery(this).attr('name')] = (jQuery(this).prop('checked') ? 1 : 0); + }); + } + //2. Collect Metaboxes & Widgets + if (jQuery('#metabox_content').length){ + jQuery('input', '#metabox_list').each(function() { + data[jQuery(this).attr('name')] = (jQuery(this).prop('checked') ? 1 : 0); + }); + } + //3. Collect Capabilities + if (jQuery('#capability_content').length){ + var caps = _this.blogTables.capabilities.fnGetData(); + for (var i in caps) { + data['aam[capability][' + caps[i][0] + ']'] = caps[i][1]; + } + } + //4. Collect Events + if (jQuery('#event_manager_content').length){ + var events = _this.blogTables.eventList.fnGetData(); + for (var j in events) { + data['aam[event][' + j + '][event]'] = events[j][0]; + data['aam[event][' + j + '][event_specifier]'] = events[j][1]; + data['aam[event][' + j + '][post_type]'] = events[j][2]; + data['aam[event][' + j + '][action]'] = events[j][3]; + data['aam[event][' + j + '][action_specifier]'] = events[j][4]; + } + } + + _this.doAction('aam_before_save', data); + + //send the Ajax request to save the data + jQuery.ajax(aamLocal.ajaxurl, { + type: 'POST', + dataType: 'json', + data: data, + success: function(response) { + if (response.status === 'success') { + _this.retrieveSettings(); + } + _this.highlight('#control_panel .inside', response.status); + }, + error: function() { + _this.highlight('#control_panel .inside', 'failure'); + }, + complete: function() { + _this.hideMetaboxLoader('#control_panel'); + } + }); + }); + jQuery('#cpanel_major').append(save); + + //create minor actions + jQuery('#cpanel_minor').append( + this.createIcon('medium', 'twitter', 'Follow Us').attr({ + href: 'https://twitter.com/wpaam', + target: '_blank' + }).append('Twitter') + ); + jQuery('#cpanel_minor').append( + this.createIcon('medium', 'help', 'Support').attr({ + href: 'http://wpaam.com/support', + target: '_blank' + }).append('Support') + ); + jQuery('#cpanel_minor').append( + this.createIcon('medium', 'message', 'Message').append('Support').bind('click', function(event) { + event.preventDefault(); + var buttons = {}; + buttons[aamLocal.labels['Send E-mail']] = function() { + location.href = 'mailto:support@wpaam.com'; + jQuery("#message_dialog").dialog("close"); + }; + jQuery("#message_dialog").dialog({ + resizable: false, + height: 'auto', + width: '20%', + modal: true, + buttons: buttons + }); + })); + jQuery('#cpanel_minor').append( + this.createIcon('medium', 'star', 'Rate Us').attr({ + href: 'http://wordpress.org/support/view/plugin-reviews/advanced-access-manager', + target: '_blank' + }).append('Rate') + ); + + //Init Tooltip + this.initTooltip('#control_panel'); +}; + +/** + * Initialize Control Manager Metabox + * + * @returns {void} + * + * @access public + */ +AAM.prototype.initControlManager = function() { + var _this = this; + jQuery('.control-manager a').each(function() { + jQuery(this).bind('click', function(event) { + event.preventDefault(); + var segment = jQuery(this).attr('segment'); + _this.loadSegment(segment); + }); + }); + + //by default load the Role Segment + this.loadSegment('role'); + + //show the list + jQuery('.control-manager-content').css('visibility', 'visible'); +}; + +/** + * Initialize & Load the Control Segment + * + * Segment is a access control area like Blog, Role or User. It is virtual + * understanding of what we are managing right now + * + * @param {String} segment + * + * @returns {void} + * + * @access public + */ +AAM.prototype.loadSegment = function(segment) { + //clear all active segments + jQuery('.control-manager a').each(function() { + jQuery(this).removeClass( + 'manager-item-' + jQuery(this).attr('segment') + '-active' + ); + }); + + //hide all segment contents from control manager + jQuery('.control-manager-content > div').hide(); + + switch (segment) { + case 'role': + this.loadRoleSegment(); + break; + + case 'user': + this.loadUserSegment(); + break; + + case 'visitor': + this.loadVisitorSegment(); + break; + + default: + this.doAction('aam_load_segment'); + break; + } + + //activate segment icon + jQuery('.manager-item-' + segment).addClass( + 'manager-item-' + segment + '-active' + ); +}; + +/** + * Initialize & Load Role Segment + * + * @returns {void} + * + * @access public + */ +AAM.prototype.loadRoleSegment = function() { + var _this = this; + + jQuery('#role_manager_wrap').show(); + if (this.segmentTables.roleList === null) { + this.segmentTables.roleList = jQuery('#role_list').dataTable({ + sDom: "<'top'f<'aam-list-top-actions'><'clear'>>t<'footer'ip<'clear'>>", + bServerSide: true, + sPaginationType: "full_numbers", + bAutoWidth: false, + bSort: false, + fnServerData: function(sSource, aoData, fnCallback, oSettings) { + oSettings.jqXHR = jQuery.ajax({ + "dataType": 'json', + "type": "POST", + "url": aamLocal.ajaxurl, + "data": aoData, + "success": fnCallback + }); + }, + fnServerParams: function(aoData) { + aoData.push({ + name: 'action', + value: 'aam' + }); + aoData.push({ + name: 'sub_action', + value: 'roleList' + }); + aoData.push({ + name: '_ajax_nonce', + value: aamLocal.nonce + }); + }, + fnInitComplete: function() { + var add = _this.createIcon( + 'medium', + 'add', + aamLocal.labels['Add New Role'] + ).bind('click', function(event) { + event.preventDefault(); + _this.activateIcon(this, 'medium'); + + //retrieve list of roles dynamically + jQuery('#parent_cap_role').addClass('input-dynamic'); + jQuery('#parent_cap_role_holder').show(); + //send the request + jQuery.ajax(aamLocal.ajaxurl, { + type: 'POST', + dataType: 'json', + data: _this.compileAjaxPackage('plainRoleList'), + success: function(response) { + //reset selector + jQuery('#parent_cap_role').empty(); + jQuery('#parent_cap_role').append( + jQuery('
        ', { + 'class': 'aam-list-row-actions' + })); // + //add role attribute + jQuery(nRow).attr('role', aData[0]); + + jQuery('.aam-list-row-actions', nRow).append(_this.createIcon( + 'small', + 'manage', + aamLocal.labels['Manage'] + ).bind('click', { + role: aData[0] + }, function(event) { + event.preventDefault(); + _this.setSubject('role', event.data.role); + _this.userRoleFilter = event.data.role; + _this.retrieveSettings(); + _this.setCurrent('role', nRow, aData[2]); + if (_this.segmentTables.userList !== null) { + _this.segmentTables.userList.fnDraw(); + } + })); + + jQuery('.aam-list-row-actions', nRow).append(_this.createIcon( + 'small', + 'pen', + aamLocal.labels['Edit'] + ).bind('click', function(event) { + event.preventDefault(); + _this.activateIcon(this, 'small'); + _this.launchEditRoleDialog(this, aData); + })); + + jQuery('.aam-list-row-actions', nRow).append(_this.createIcon( + 'small', + 'delete', + aamLocal.labels['Delete'] + ).bind('click', function(event) { + event.preventDefault(); + var button = this; + if ((aData[0] === 'administrator')) { + //open the dialog + var buttons = {}; + _this.activateIcon(this, 'small'); + buttons[aamLocal.labels['Close']] = function() { + jQuery('#delete_admin_role_dialog').dialog("close"); + }; + jQuery('#delete_admin_role_dialog').dialog({ + resizable: false, + height: 'auto', + width: '25%', + modal: true, + buttons: buttons, + close: function(){ + _this.deactivateIcon(button); + } + }); + } else { + _this.activateIcon(this, 'small'); + _this.launchDeleteRoleDialog(this, aData); + } + })); + + //set active + if (_this.getSubject().type === 'role' + && _this.getSubject().id === aData[0]) { + _this.setCurrent('role', nRow, aData[2]); + } + + _this.initTooltip(nRow); + }, + fnInfoCallback: function(oSettings, iStart, iEnd, iMax, iTotal, sPre) { + return (iMax !== iTotal ? _this.clearFilterIndicator() : ''); + } + }); + } +}; + +/** + * Highlight current subject + * + * @param {String} subject + * @param {Object} nRow + * @param {String} name + * + * @returns {void} + * + * @access public + */ +AAM.prototype.setCurrent = function(subject, nRow, name) { + var _this = this; + + //terminate any active subject + jQuery('.aam-icon-small-active').removeClass('aam-icon-small-active'); + + jQuery('.aam-bold').each(function() { + jQuery(this).removeClass('aam-bold'); + }); + + //highlight the row + jQuery('td:eq(0)', nRow).addClass('aam-bold'); + _this.activateIcon(jQuery('.aam-icon-manage', nRow), 'small'); + jQuery('.current-subject').html(subject + ' ' + name); +}; + +/** + * Generate clear filter indicator for all tables + * + * @returns {String} + * + * @access public + */ +AAM.prototype.clearFilterIndicator = function() { + var info = ''; + + return info; +}; + +/** + * Launch Add Role Dialog + * + * @param {Object} button + * + * @returns {void} + * + * @access public + */ +AAM.prototype.launchAddRoleDialog = function(button) { + var _this = this; + //clean-up the form first + jQuery('#role_name').val(''); + //open the dialog + var buttons = {}; + buttons[aamLocal.labels['Add New Role']] = function() { + //prepare ajax package + var data = _this.compileAjaxPackage('addRole'); + data.name = jQuery('#role_name').val(); + data.inherit = jQuery('#parent_cap_role').val(); + + //send the request + jQuery.ajax(aamLocal.ajaxurl, { + type: 'POST', + dataType: 'json', + data: data, + success: function(response) { + if (response.status === 'success') { + _this.segmentTables.roleList.fnDraw(); + } + _this.highlight('#control_manager .inside', response.status); + } + }); + jQuery('#manage_role_dialog').dialog("close"); + }; + buttons[aamLocal.labels['Cancel']] = function() { + jQuery('#manage_role_dialog').dialog("close"); + }; + + jQuery('#manage_role_dialog').dialog({ + resizable: false, + height: 'auto', + width: '30%', + modal: true, + title: aamLocal.labels['Add New Role'], + buttons: buttons, + close: function() { + _this.deactivateIcon(button); + } + }); +}; + +/** + * Launch Edit Role Dialog + * + * @param {Object} button + * @param {Object} aData + * + * @returns {void} + * + * @access public + */ +AAM.prototype.launchEditRoleDialog = function(button, aData) { + var _this = this; + //populate the form with data + jQuery('#role_name').val(aData[2]); + jQuery('#parent_cap_role_holder').hide(); + //launch the dialog + var buttons = {}; + buttons[aamLocal.labels['Save Changes']] = function() { + var data = _this.compileAjaxPackage('editRole'); + data.subject = 'role'; + data.subject_id = aData[0]; + data.name = jQuery('#role_name').val(); + //save the changes + jQuery.ajax(aamLocal.ajaxurl, { + type: 'POST', + dataType: 'json', + data: data, + success: function(response) { + if (response.status === 'success') { + _this.segmentTables.roleList.fnDraw(); + } + _this.highlight('#control_manager .inside', response.status); + }, + error: function() { + _this.highlight('#control_manager .inside', 'failure'); + }, + complete: function() { + jQuery('#manage_role_dialog').dialog("close"); + } + }); + }; + buttons[aamLocal.labels['Cancel']] = function() { + jQuery('#manage_role_dialog').dialog("close"); + }; + + jQuery('#manage_role_dialog').dialog({ + resizable: false, + height: 'auto', + modal: true, + width: '30%', + title: aamLocal.labels['Edit Role'], + buttons: buttons, + close: function() { + _this.deactivateIcon(button); + } + }); +}; + +/** + * Launch Delete Role Dialog + * + * @param {Object} button + * @param {Object} aData + * + * @returns {void} + * + * @access public + */ +AAM.prototype.launchDeleteRoleDialog = function(button, aData) { + var _this = this; + //render the message first + if (aData[1]) { + var message = aamLocal.labels['Delete Role with Users Message'].replace( + '%d', aData[1] + ); + message = message.replace('%s', aData[2]); + jQuery('#delete_role_dialog .dialog-content').html(message); + } else { + message = aamLocal.labels['Delete Role Message'].replace('%s', aData[2]); + jQuery('#delete_role_dialog .dialog-content').html(message); + } + + var buttons = {}; + buttons[aamLocal.labels['Delete Role']] = function() { + //prepare ajax package + var data = _this.compileAjaxPackage('deleteRole'); + data.subject = 'role'; + data.subject_id = aData[0]; + data.delete_users = parseInt(aData[1]); + //send the request + jQuery.ajax(aamLocal.ajaxurl, { + type: 'POST', + dataType: 'json', + data: data, + success: function(response) { + if (response.status === 'success') { + //reset the current role + var subject = _this.getSubject(); + if (subject.type === 'role' && subject.id === aData[0]) { + _this.setSubject('role', null); + } + _this.segmentTables.roleList.fnDraw(); + } + _this.highlight('#control_manager .inside', response.status); + }, + error: function() { + _this.highlight('#control_manager .inside', 'failure'); + }, + complete: function() { + jQuery('#delete_role_dialog').dialog("close"); + } + }); + }; + buttons[aamLocal.labels['Cancel']] = function() { + jQuery('#delete_role_dialog').dialog("close"); + }; + + //launch the dialog + jQuery('#delete_role_dialog').dialog({ + resizable: false, + height: 'auto', + modal: true, + title: aamLocal.labels['Delete Role'], + buttons: buttons, + close: function() { + _this.deactivateIcon(button); + } + }); +}; + +/** + * Initialize & Load User Segment + * + * @returns {void} + * + * @access public + */ +AAM.prototype.loadUserSegment = function() { + var _this = this; + jQuery('#user_manager_wrap').show(); + if (this.segmentTables.userList === null) { + this.segmentTables.userList = jQuery('#user_list').dataTable({ + sDom: "<'top'f<'aam-list-top-actions'><'clear'>>t<'footer'ip<'clear'>>", + bServerSide: true, + sPaginationType: "full_numbers", + bAutoWidth: false, + bSort: false, + sAjaxSource: true, + fnServerData: function(sSource, aoData, fnCallback, oSettings) { + oSettings.jqXHR = jQuery.ajax({ + "dataType": 'json', + "type": "POST", + "url": aamLocal.ajaxurl, + "data": aoData, + "success": fnCallback + }); + }, + fnServerParams: function(aoData) { + aoData.push({ + name: 'action', + value: 'aam' + }); + aoData.push({ + name: 'sub_action', + value: 'userList' + }); + aoData.push({ + name: '_ajax_nonce', + value: aamLocal.nonce + }); + aoData.push({ + name: 'role', + value: _this.userRoleFilter + }); + }, + aoColumnDefs: [ + { + bVisible: false, + aTargets: [0, 1, 4, 5] + } + ], + fnInitComplete: function() { + var add = _this.createIcon( + 'medium', + 'add' + ).attr({ + href: aamLocal.addUserURI, + target: '_blank' + }); + + var filter = _this.createIcon( + 'medium', + 'filter' + ).bind('click', function(event) { + event.preventDefault(); + _this.activateIcon(this, 'medium'); + _this.launchFilterUserDialog(this); + }); + + var refresh = _this.createIcon( + 'medium', + 'refresh' + ).bind('click', function(event) { + event.preventDefault(); + _this.segmentTables.userList.fnDraw(); + }); + + jQuery('#user_list_wrapper .aam-list-top-actions').append(filter); + jQuery('#user_list_wrapper .aam-list-top-actions').append(add); + jQuery('#user_list_wrapper .aam-list-top-actions').append(refresh); + _this.initTooltip(jQuery('#user_list_wrapper .aam-list-top-actions')); + }, + fnDrawCallback: function() { + jQuery('#user_list_wrapper .clear-table-filter').bind( + 'click', function(event) { + event.preventDefault(); + jQuery('#user_list_filter input').val(''); + _this.userRoleFilter = ''; + _this.segmentTables.userList.fnFilter(''); + } + ); + }, + oLanguage: { + sSearch: "", + oPaginate: { + sFirst: "≪", + sLast: "≫", + sNext: ">", + sPrevious: "<" + } + }, + fnRowCallback: function(nRow, aData, iDisplayIndex) { //format data + //add User attribute + jQuery(nRow).attr('user', aData[0]); + jQuery('td:eq(1)', nRow).html(jQuery('
        ', { + 'class': 'aam-list-row-actions' + })); + + if (parseInt(aData[5]) === 1){ + jQuery('.aam-list-row-actions', nRow).append(_this.createIcon( + 'small', + 'manage', + aamLocal.labels['Manage'] + ).bind('click', function(event) { + event.preventDefault(); + _this.setSubject('user', aData[0]); + _this.retrieveSettings(); + _this.setCurrent('user', nRow, aData[2]); + })); + + jQuery('.aam-list-row-actions', nRow).append(_this.createIcon( + 'small', + 'edit-user', + aamLocal.labels['Edit'] + ).attr({ + href: aamLocal.editUserURI + '?user_id=' + aData[0], + target: '_blank' + })); + + var block = _this.createIcon( + 'small', + 'block', + aamLocal.labels['Block'] + ); + if (parseInt(aData[4]) === 1){ + _this.activateIcon(block, 'small'); + } + block.bind('click', function(event) { + event.preventDefault(); + _this.blockUser(this, aData); + }); + jQuery('.aam-list-row-actions', nRow).append(block); + + jQuery('.aam-list-row-actions', nRow).append(_this.createIcon( + 'small', + 'delete', + aamLocal.labels['Delete'] + ).bind('click', function(event) { + event.preventDefault(); + _this.deleteUser(this, aData); + })); + } else { + jQuery('.aam-list-row-actions', nRow).append(jQuery('', { + 'href': '#', + 'class': 'user-action-locked', + 'aam-tooltip': aamLocal.labels['Actions Locked'] + }).bind('click', function(event) { + event.preventDefault(); + })); + } + + //set active + if (_this.getSubject().type === 'user' + && _this.getSubject().id === aData[0]) { + _this.setCurrent('user', nRow, aData[2]); + } + + _this.initTooltip(nRow); + }, + fnInfoCallback: function(oSettings, iStart, iEnd, iMax, iTotal, sPre) { + return (iMax !== iTotal ? _this.clearFilterIndicator() : ''); + } + }); + } +}; + +/** + * Block the selected user + * + * @param {Object} button + * @param {Object} aData + * + * @returns {void} + * + * @access public + */ +AAM.prototype.blockUser = function(button, aData) { + var _this = this; + var data = this.compileAjaxPackage('blockUser'); + data.subject = 'user'; + data.subject_id = aData[0]; + //send the request + jQuery.ajax(aamLocal.ajaxurl, { + type: 'POST', + dataType: 'json', + data: data, + success: function(response) { + _this.highlight('#control_manager .inside', response.status); + if (response.user_status === 1) { + _this.activateIcon(button, 'small'); + } else { + _this.deactivateIcon(button); + } + }, + error: function() { + _this.highlight('#control_manager .inside', 'failure'); + } + }); +}; + +/** + * Delete selected User + * + * @param {Object} button + * @param {Object} aData + * + * @returns {void} + * + * @access public + */ +AAM.prototype.deleteUser = function(button, aData) { + var _this = this; + //insert content + jQuery('#delete_user_dialog .dialog-content').html( + aamLocal.labels['Delete User Message'].replace('%s', aData[2]) + ); + var buttons = {}; + buttons[aamLocal.labels['Delete']] = function() { + var data = _this.compileAjaxPackage('deleteUser'); + data.subject = 'user'; + data.subject_id = aData[0]; + //send request + jQuery.ajax(aamLocal.ajaxurl, { + type: 'POST', + dataType: 'json', + data: data, + success: function(response) { + if (response.status === 'success') { + _this.segmentTables.userList.fnDraw(); + } + _this.highlight('#control_manager .inside', response.status); + + }, + error: function() { + _this.highlight('#control_manager .inside', 'failure'); + }, + complete: function() { + jQuery('#delete_user_dialog').dialog('close'); + } + }); + }; + + buttons[aamLocal.labels['Cancel']] = function() { + jQuery('#delete_user_dialog').dialog("close"); + }; + //show the dialog + jQuery('#delete_user_dialog').dialog({ + resizable: false, + height: 'auto', + width: '30%', + modal: true, + buttons: buttons, + close: function() { + _this.deactivateIcon(button); + } + }); +}; + +/** + * Launch the Filter User List by User Role dialog + * + * @param {Object} button + * + * @returns {void} + * + * @access public + */ +AAM.prototype.launchFilterUserDialog = function(button) { + var _this = this; + if (this.blogTables.filterRoleList === null) { + this.blogTables.filterRoleList = jQuery('#filter_role_list').dataTable({ + sDom: "<'top'f<'clear'>>t<'footer'ip<'clear'>>", + bServerSide: true, + sPaginationType: "full_numbers", + bAutoWidth: false, + bSort: false, + sAjaxSource: true, + fnServerData: function(sSource, aoData, fnCallback, oSettings) { + oSettings.jqXHR = jQuery.ajax({ + "dataType": 'json', + "type": "POST", + "url": aamLocal.ajaxurl, + "data": aoData, + "success": fnCallback + }); + }, + fnServerParams: function(aoData) { + aoData.push({ + name: 'action', + value: 'aam' + }); + aoData.push({ + name: 'sub_action', + value: 'roleList' + }); + aoData.push({ + name: '_ajax_nonce', + value: aamLocal.nonce + }); + }, + fnDrawCallback: function() { + jQuery('#filter_role_list_wrapper .clear-table-filter').bind( + 'click', function(event) { + event.preventDefault(); + jQuery('#filter_role_list_filter input').val(''); + _this.blogTables.filterRoleList.fnFilter(''); + } + ); + _this.initTooltip('#filter_role_list_wrapper'); + }, + oLanguage: { + sSearch: "", + oPaginate: { + sFirst: "≪", + sLast: "≫", + sNext: ">", + sPrevious: "<" + } + }, + aoColumnDefs: [ + { + bVisible: false, + aTargets: [0, 1] + } + ], + fnRowCallback: function(nRow, aData) { //format data + jQuery('td:eq(1)', nRow).html(jQuery('
        ', { + 'class': 'aam-list-row-actions' + })); + + jQuery('.aam-list-row-actions', nRow).append(_this.createIcon( + 'small', + 'select', + aamLocal.labels['Select Role'] + ).bind('click', function(event) { + event.preventDefault(); + _this.userRoleFilter = aData[0]; + _this.segmentTables.userList.fnDraw(); + jQuery('#filter_user_dialog').dialog('close'); + })); + }, + fnInfoCallback: function(oSettings, iStart, iEnd, iMax, iTotal, sPre) { + return (iMax !== iTotal ? _this.clearFilterIndicator() : ''); + } + }); + } else { + this.blogTables.filterRoleList.fnDraw(); + } + //show the dialog + var buttons = {}; + buttons[aamLocal.labels['Cancel']] = function() { + jQuery('#filter_user_dialog').dialog("close"); + }; + jQuery('#filter_user_dialog').dialog({ + resizable: false, + height: 'auto', + width: '40%', + modal: true, + buttons: buttons, + close: function() { + _this.deactivateIcon(button); + } + }); +}; + +/** + * Initialize & Load visitor segment + * + * @returns {void} + * + * @access public + */ +AAM.prototype.loadVisitorSegment = function() { + jQuery('#visitor_manager_wrap').show(); + this.setSubject('visitor', 1); + this.setCurrent('Visitor', '', ''); + this.retrieveSettings(); +}; + +/** + * Retrieve main metabox settings + * + * @returns {void} + * + * @access public + */ +AAM.prototype.retrieveSettings = function() { + var _this = this; + + jQuery('.aam-main-loader').show(); + jQuery('.aam-main-content').empty(); + + //reset blog Tables first + for (var i in this.blogTables) { + this.blogTables[i] = null; + } + + jQuery.ajax(aamLocal.siteURI, { + type: 'POST', + dataType: 'html', + data: { + action: 'features', + _ajax_nonce: aamLocal.nonce, + subject: _this.getSubject().type, + subject_id: _this.getSubject().id + }, + success: function(response) { + jQuery('.aam-main-content').html(response); + _this.checkRoleback(); + _this.initSettings(); + }, + complete: function() { + jQuery('.aam-main-loader').hide(); + } + }); +}; + +/** + * Check if current subject has roleback available + * + * @returns {undefined} + */ +AAM.prototype.checkRoleback = function() { + var _this = this; + + jQuery.ajax(aamLocal.ajaxurl, { + type: 'POST', + dataType: 'json', + data: _this.compileAjaxPackage('hasRoleback', true), + success: function(response) { + if (parseInt(response.status) === 0) { + _this.disableRoleback(); + } else { + _this.enableRoleback(); + } + }, + complete: function() { + jQuery('.aam-main-loader').hide(); + } + }); +}; + +/** + * Initialize Main metabox settings + * + * @returns {void} + * + * @access public + */ +AAM.prototype.initSettings = function() { + var _this = this; + + //remove all dialogs to make sure that there are no confusions + jQuery('.ui-dialog').remove(); + + //init Settings Menu + jQuery('.feature-list .feature-item').each(function() { + jQuery(this).bind('click', function() { + //feature activation hook + _this.doAction( + 'aam_feature_activation', + {'feature': jQuery(this).attr('feature')} + ); + + jQuery('.feature-list .feature-item').removeClass( + 'feature-item-active' + ); + jQuery(this).addClass('feature-item-active'); + jQuery('.feature-content .feature-content-container').hide(); + jQuery('#' + jQuery(this).attr('feature') + '_content').show(); + }); + }); + + //init default tabs + if (jQuery('#admin_menu_content').length){ + this.initMenuTab(); + } + if (jQuery('#metabox_content').length){ + this.initMetaboxTab(); + } + if (jQuery('#capability_content').length){ + this.initCapabilityTab(); + } + if (jQuery('#post_access_content').length){ + this.initPostTab(); + } + if (jQuery('#event_manager_content').length){ + this.initEventTab(); + } + + this.doAction('aam_init_features'); + + jQuery('.feature-list .feature-item:eq(0)').trigger('click'); +}; + +/** + * Initialize Capability Feature + * + * @returns {void} + * + * @access public + */ +AAM.prototype.initCapabilityTab = function() { + var _this = this; + + //indicator that current user has default capability set. In case he does + //not, it will show additional top action - Restore Default Capabilities + var userDefault = true; + + this.blogTables.capabilities = jQuery('#capability_list').dataTable({ + sDom: "<'top'lf<'aam-list-top-actions'><'clear'>>t<'footer'ip<'clear'>>", + sPaginationType: "full_numbers", + bAutoWidth: false, + bSort: false, + bDestroy: true, + sAjaxSource: true, + fnServerData: function(sSource, aoData, fnCallback) { + jQuery.ajax({ + dataType: 'json', + type: "POST", + url: aamLocal.ajaxurl, + data: aoData, + success: function(data) { + //set Default Capability set indicator + userDefault = parseInt(data.aaDefault); + //populate oTable + fnCallback(data); + }, + error: function() { + _this.parent.failure(); + } + }); + }, + fnServerParams: function(aoData) { + aoData.push({ + name: 'action', + value: 'aam' + }); + aoData.push({ + name: 'sub_action', + value: 'loadCapabilities' + }); + aoData.push({ + name: '_ajax_nonce', + value: aamLocal.nonce + }); + aoData.push({ + name: 'subject', + value: _this.getSubject().type + }); + aoData.push({ + name: 'subject_id', + value: _this.getSubject().id + }); + }, + fnInitComplete: function() { + var a = jQuery('#capability_list_wrapper .aam-list-top-actions'); + + var filter = _this.createIcon( + 'medium', + 'filter', + aamLocal.labels['Filter Capabilities by Category'] + ).bind('click', function(event) { + event.preventDefault(); + _this.activateIcon(this, 'medium'); + _this.launchCapabilityFilterDialog(this); + }); + jQuery(a).append(filter); + + //do not allow for user to add any new capabilities or copy from + //existing role + if (_this.getSubject().type !== 'user') { + var copy = _this.createIcon( + 'medium', + 'copy', + aamLocal.labels['Inherit Capabilities'] + ).bind('click', function(event) { + event.preventDefault(); + _this.launchRoleCopyDialog(this); + }); + + jQuery(a).append(copy); + var add = _this.createIcon( + 'medium', + 'add', + aamLocal.labels['Add New Capability'] + ).bind('click', function(event) { + event.preventDefault(); + _this.launchAddCapabilityDialog(this); + }); + jQuery(a).append(add); + } else if (userDefault === 0) { + //add Restore Default Capability button + var restore = _this.createIcon( + 'medium', + 'roleback', + aamLocal.labels['Restore Default Capabilities'] + ).bind('click', function(event) { + event.preventDefault(); + var data = _this.compileAjaxPackage('restoreCapabilities', true); + //show indicator that is running + _this.loadingIcon(jQuery(this), 'medium'); + jQuery.ajax(aamLocal.ajaxurl, { + type: 'POST', + dataType: 'json', + data: data, + success: function(response) { + if (response.status === 'success') { + _this.retrieveSettings(); + } else { + _this.highlight('#capability_content', 'failure'); + } + }, + error: function() { + _this.highlight('#capability_content', 'failure'); + } + }); + }); + jQuery(a).append(restore); + } + + _this.initTooltip(a); + }, + aoColumnDefs: [ + { + bVisible: false, + aTargets: [0, 1] + } + ], + fnRowCallback: function(nRow, aData) { + jQuery('td:eq(2)', nRow).empty().append(jQuery('
        ', { + 'class': 'capability-actions' + })); + var actions = jQuery('.capability-actions', nRow); + //add capability checkbox + jQuery(actions).append(jQuery('
        ', { + 'class': 'capability-action' + })); + jQuery('.capability-action', actions).append(jQuery('', { + type: 'checkbox', + id: aData[0], + checked: (parseInt(aData[1]) === 1 ? true : false), + name: 'aam[capability][' + aData[0] + ']' + }).bind('change', function() { + var status = (jQuery(this).prop('checked') === true ? 1 : 0); + _this.blogTables.capabilities.fnUpdate(status, nRow, 1, false); + })); + jQuery('.capability-action', actions).append( + '' + ); + //add capability delete + jQuery(actions).append(jQuery('', { + 'href': '#', + 'class': 'capability-action capability-action-delete', + 'aam-tooltip': aamLocal.labels['Delete'] + }).bind('click', function(event) { + event.preventDefault(); + _this.launchDeleteCapabilityDialog(this, aData, nRow); + })); + _this.initTooltip(nRow); + }, + fnDrawCallback: function() { + jQuery('#capability_list_wrapper .clear-table-filter').bind( + 'click', function(event) { + event.preventDefault(); + jQuery('#capability_list_wrapper input').val(''); + _this.blogTables.capabilities.fnFilter(''); + _this.blogTables.capabilities.fnFilter('', 2); + } + ); + }, + fnInfoCallback: function(oSettings, iStart, iEnd, iMax, iTotal, sPre) { + return (iMax !== iTotal ? _this.clearFilterIndicator() : ''); + }, + oLanguage: { + sSearch: "", + oPaginate: { + sFirst: "≪", + sLast: "≫", + sNext: ">", + sPrevious: "<" + }, + sLengthMenu: "_MENU_" + } + }); +}; + +/** + * Launch the Delete Capability Dialog + * + * @param {Object} button + * @param {Object} aData + * @param {Object} nRow + * + * @returns {void} + * + * @access public + */ +AAM.prototype.launchDeleteCapabilityDialog = function(button, aData, nRow) { + var _this = this; + jQuery('#delete_capability .dialog-content').html( + aamLocal.labels['Delete Capability Message'].replace('%s', aData[3]) + ); + + var buttons = {}; + buttons[aamLocal.labels['Delete Capability']] = function() { + var data = _this.compileAjaxPackage('deleteCapability'); + data.capability = aData[0]; + jQuery.ajax(aamLocal.ajaxurl, { + type: 'POST', + dataType: 'json', + data: data, + success: function(response) { + if (response.status === 'success') { + _this.blogTables.capabilities.fnDeleteRow(nRow); + } + _this.highlight('#capability_content', response.status); + }, + error: function() { + _this.highlight('#capability_content', 'failure'); + } + }); + jQuery('#delete_capability').dialog("close"); + }; + buttons[aamLocal.labels['Cancel']] = function() { + jQuery('#delete_capability').dialog("close"); + }; + + jQuery('#delete_capability').dialog({ + resizable: false, + height: 'auto', + modal: true, + title: aamLocal.labels['Delete Capability'], + buttons: buttons, + close: function() { + } + }); +}; + +/** + * Launch Capability Filter Dialog + * + * @param {Object} button + * + * @returns {void} + * + * @access public + */ +AAM.prototype.launchCapabilityFilterDialog = function(button) { + var _this = this; + + jQuery('#capability_group_list').dataTable({ + sDom: "t", + sPaginationType: "full_numbers", + bAutoWidth: false, + bSort: false, + bDestroy: true, + fnRowCallback: function(nRow, aData) { + jQuery('.aam-icon-select', nRow).bind('click', function(event) { + event.preventDefault(); + _this.blogTables.capabilities.fnFilter( + aData[0].replace('&', '&'), 2 + ); + jQuery('#filter_capability_dialog').dialog('close'); + }); + } + }); + var buttons = {}; + buttons[aamLocal.labels['Close']] = function() { + jQuery('#filter_capability_dialog').dialog("close"); + }; + jQuery('#filter_capability_dialog').dialog({ + resizable: false, + height: 'auto', + width: '30%', + modal: true, + buttons: buttons, + close: function() { + _this.deactivateIcon(button); + } + }); +}; + +/** + * Launch Capability Role Copy dialog + * + * @param {Object} button + * + * @returns {void} + * + * @access public + */ +AAM.prototype.launchRoleCopyDialog = function(button) { + var _this = this; + + this.blogTables.inheritRole = jQuery('#copy_role_list').dataTable({ + sDom: "<'top'f<'clear'>>t<'footer'ip<'clear'>>", + bServerSide: true, + sPaginationType: "full_numbers", + bAutoWidth: false, + bSort: false, + bDestroy: true, + sAjaxSource: true, + fnServerData: function(sSource, aoData, fnCallback, oSettings) { + oSettings.jqXHR = jQuery.ajax({ + "dataType": 'json', + "type": "POST", + "url": aamLocal.ajaxurl, + "data": aoData, + "success": fnCallback + }); + }, + fnServerParams: function(aoData) { + aoData.push({ + name: 'action', + value: 'aam' + }); + aoData.push({ + name: 'sub_action', + value: 'roleList' + }); + aoData.push({ + name: '_ajax_nonce', + value: aamLocal.nonce + }); + }, + fnDrawCallback: function() { + jQuery('#copy_role_list_wrapper .clear-table-filter').bind( + 'click', function(event) { + event.preventDefault(); + jQuery('#copy_role_list_filter input').val(''); + _this.blogTables.inheritRole.fnFilter(''); + } + ); + }, + oLanguage: { + sSearch: "", + oPaginate: { + sFirst: "≪", + sLast: "≫", + sNext: ">", + sPrevious: "<" + } + }, + aoColumnDefs: [ + { + bVisible: false, + aTargets: [0, 1] + } + ], + fnRowCallback: function(nRow, aData, iDisplayIndex) { //format data + jQuery('td:eq(1)', nRow).html(jQuery('
        ', { + 'class': 'aam-list-row-actions' + })); // + jQuery('.aam-list-row-actions', nRow).empty(); + jQuery('.aam-list-row-actions', nRow).append(_this.createIcon( + 'small', + 'select', + aamLocal.labels['Select Role'] + ).bind('click', function(event) { + event.preventDefault(); + _this.showMetaboxLoader('#copy_role_dialog'); + var data = _this.compileAjaxPackage('roleCapabilities'); + data.subject = 'role'; + data.subject_id = aData[0]; + jQuery.ajax(aamLocal.ajaxurl, { + type: 'POST', + dataType: 'json', + data: data, + success: function(response) { + if (response.status === 'success') { + //reset the capability list + var oSettings = _this.blogTables.capabilities.fnSettings(); + for (var i in oSettings.aoData) { + var cap = oSettings.aoData[i]._aData[0]; + var ntr = oSettings.aoData[i].nTr; + if (typeof response.capabilities[cap] !== 'undefined') { + _this.blogTables.capabilities.fnUpdate(1, ntr, 1, false); + jQuery('#' + cap).attr('checked', 'checked'); + } else { + _this.blogTables.capabilities.fnUpdate(0, ntr, 1, false); + jQuery('#' + cap).removeAttr('checked'); + } + } + } + _this.highlight('#capability_content', response.status); + }, + error: function() { + _this.highlight('#capability_content', 'failure'); + }, + complete: function() { + //grab the capability list for selected role + _this.hideMetaboxLoader('#copy_role_dialog'); + jQuery('#copy_role_dialog').dialog('close'); + } + }); + })); + }, + fnInfoCallback: function(oSettings, iStart, iEnd, iMax, iTotal, sPre) { + return (iMax !== iTotal ? _this.clearFilterIndicator() : ''); + } + }); + + var buttons = {}; + buttons[aamLocal.labels['Cancel']] = function() { + jQuery('#copy_role_dialog').dialog("close"); + }; + + //show the dialog + jQuery('#copy_role_dialog').dialog({ + resizable: false, + height: 'auto', + width: '40%', + modal: true, + buttons: buttons, + close: function() { + _this.deactivateIcon(button); + } + }); +}; + +/** + * Launch Add Capability Dialog + * + * @param {Object} button + * + * @returns {void} + * + * @access public + */ +AAM.prototype.launchAddCapabilityDialog = function(button) { + var _this = this; + //reset form + jQuery('#capability_name').val(''); + + var buttons = {}; + buttons[aamLocal.labels['Add Capability']] = function() { + var capability = jQuery.trim(jQuery('#capability_name').val()); + if (capability) { + _this.showMetaboxLoader('#capability_form_dialog'); + var data = _this.compileAjaxPackage('addCapability'); + data.capability = capability; + data.unfiltered = (jQuery('#capability_unfiltered').attr('checked') ? 1 : 0); + + jQuery.ajax(aamLocal.ajaxurl, { + type: 'POST', + dataType: 'json', + data: data, + success: function(response) { + if (response.status === 'success') { + _this.blogTables.capabilities.fnAddData([ + response.capability, + 1, + 'Miscelaneous', + data.capability, + '']); + _this.highlight('#capability_content', 'success'); + jQuery('#capability_form_dialog').dialog("close"); + } else { + _this.highlight('#capability_form_dialog', 'failure'); + } + }, + error: function() { + _this.highlight('#capability_form_dialog', 'failure'); + }, + complete: function() { + _this.hideMetaboxLoader('#capability_form_dialog'); + } + }); + } else { + jQuery('#capability_name').effect('highlight', 2000); + } + }; + buttons[aamLocal.labels['Cancel']] = function() { + jQuery('#capability_form_dialog').dialog("close"); + }; + + //show dialog + jQuery('#capability_form_dialog').dialog({ + resizable: false, + height: 'auto', + width: 'auto', + modal: true, + buttons: buttons, + close: function() { + _this.deactivateIcon(button); + } + }); +}; + +/** + * Initialize and Load the Menu Feature + * + * @returns {void} + * + * @access public + */ +AAM.prototype.initMenuTab = function() { + this.initMenuAccordion(false); + + jQuery('.whole_menu').each(function() { + jQuery(this).bind('change', function() { + if (jQuery(this).attr('checked')) { + jQuery('input[type="checkbox"]', '#submenu_' + jQuery(this).attr('id')).attr( + 'checked', 'checked' + ); + } else { + jQuery('input[type="checkbox"]', '#submenu_' + jQuery(this).attr('id')).removeAttr( + 'checked' + ); + } + }); + }); + + this.initTooltip('#main_menu_list'); +}; + +/** + * Init Main Menu Accordion + * + * @returns {void} + * + * @access public + */ +AAM.prototype.initMenuAccordion = function() { + //destroy if already initialized + if (jQuery('#main_menu_list').hasClass('ui-accordion')) { + jQuery('#main_menu_list').accordion('destroy'); + } + + //initialize + jQuery('#main_menu_list').accordion({ + collapsible: true, + header: 'h4', + heightStyle: 'content', + icons: { + header: "ui-icon-circle-arrow-e", + headerSelected: "ui-icon-circle-arrow-s" + }, + active: false + }); +}; + +/** + * Initialize and load Metabox Feature + * + * @returns {void} + * + * @access public + */ +AAM.prototype.initMetaboxTab = function() { + var _this = this; + + jQuery('#retrieve_url').bind('click', function(event) { + event.preventDefault(); + var icon = this; + var link = jQuery.trim(jQuery('#metabox_link').val()); + if (link) { + _this.loadingIcon(icon, 'medium'); + //init metaboxes + var data = _this.compileAjaxPackage('initLink'); + data.link = link; + + //send the request + jQuery.ajax(aamLocal.ajaxurl, { + type: 'POST', + dataType: 'json', + data: data, + success: function(response) { + if (response.status === 'success') { + jQuery('#metabox_link').val(''); + _this.loadMetaboxes(0); + } + _this.highlight('#metabox_content', response.status); + }, + error: function() { + _this.highlight('#metabox_content', 'failure'); + }, + complete: function(){ + _this.removeLoadingIcon(icon); + } + }); + } else { + jQuery('#metabox_link').effect('highlight', 2000); + } + + }); + + jQuery('#refresh_metaboxes').bind('click', function(event) { + event.preventDefault(); + _this.loadMetaboxes(1); + }); + + this.initTooltip('.metabox-top-actions'); + + this.loadMetaboxes(0); +}; + +/** + * Load Metabox list + * + * @param {Boolean} refresh + * + * @returns {void} + * + * @access public + */ +AAM.prototype.loadMetaboxes = function(refresh) { + var _this = this; + //init metaboxes + var data = this.compileAjaxPackage('loadMetaboxes', true); + data.refresh = refresh; + //show loader and reset the metabox list holder + jQuery('#metabox_list_container').empty(); + this.showMetaboxLoader('#metabox_content'); + //send the request + jQuery.ajax(aamLocal.ajaxurl, { + type: 'POST', + dataType: 'html', + data: data, + success: function(response) { + jQuery('#metabox_list_container').html(response); + jQuery('#metabox_list').accordion({ + collapsible: true, + header: 'h4', + heightStyle: 'content', + icons: { + header: "ui-icon-circle-arrow-e", + headerSelected: "ui-icon-circle-arrow-s" + }, + active: false + }); + //init Tooltips + _this.initTooltip('#metabox_list_container'); + }, + error: function() { + _this.highlight('#metabox_content', 'failure'); + }, + complete: function() { + _this.hideMetaboxLoader('#metabox_content'); + } + }); +}; + +/** + * Initialize and Load Event Feature + * + * @returns {void} + * + * @access public + */ +AAM.prototype.initEventTab = function() { + var _this = this; + + jQuery('#event_event').bind('change', function() { + if (jQuery(this).val() === 'status_change') { + jQuery('#status_changed').show(); + } else { + jQuery('#status_changed').hide(); + } + }); + + jQuery('#event_action').bind('change', function() { + jQuery('.event-specifier').hide(); + jQuery('#event_specifier_' + jQuery(this).val() + '_holder').show(); + }); + + this.blogTables.eventList = jQuery('#event_list').dataTable({ + sDom: "<'aam-list-top-actions'><'clear'>t<'footer'p<'clear'>>", + //bProcessing : false, + sPaginationType: "full_numbers", + bAutoWidth: false, + bSort: false, + sAjaxSource: true, + fnServerData: function(sSource, aoData, fnCallback, oSettings) { + oSettings.jqXHR = jQuery.ajax({ + "dataType": 'json', + "type": "POST", + "url": aamLocal.ajaxurl, + "data": aoData, + "success": fnCallback + }); + }, + fnServerParams: function(aoData) { + aoData.push({ + name: 'action', + value: 'aam' + }); + aoData.push({ + name: 'sub_action', + value: 'eventList' + }); + aoData.push({ + name: '_ajax_nonce', + value: aamLocal.nonce + }); + aoData.push({ + name: 'subject', + value: _this.getSubject().type + }); + aoData.push({ + name: 'subject_id', + value: _this.getSubject().id + }); + }, + aoColumnDefs: [ + { + bVisible: false, + aTargets: [1, 4] + } + ], + fnInitComplete: function() { + var add = _this.createIcon( + 'medium', + 'add', + aamLocal.labels['Add Event'] + ).bind('click', function(event) { + event.preventDefault(); + _this.launchManageEventDialog(this, null); + }); + jQuery('#event_list_wrapper .aam-list-top-actions').append(add); + _this.initTooltip( + jQuery('#event_list_wrapper .aam-list-top-actions') + ); + }, + fnDrawCallback: function() { + jQuery('#event_list_wrapper .clear-table-filter').bind('click', function(event) { + event.preventDefault(); + jQuery('#event_list_filter input').val(''); + _this.blogTables.eventList.fnFilter(''); + }); + }, + fnRowCallback: function(nRow, aData) { + if (jQuery('.event-actions', nRow).length) { + jQuery('.event-actions', nRow).empty(); + } else { + jQuery('td:eq(3)', nRow).html(jQuery('
        ', { + 'class': 'event-actions' + })); + } + jQuery('.event-actions', nRow).append(jQuery('', { + 'href': '#', + 'class': 'event-action event-action-edit', + 'aam-tooltip': aamLocal.labels['Edit Event'] + }).bind('click', function(event) { + event.preventDefault(); + _this.launchManageEventDialog(this, aData, nRow); + })); + jQuery('.event-actions', nRow).append(jQuery('', { + 'href': '#', + 'class': 'event-action event-action-delete', + 'aam-tooltip': aamLocal.labels['Delete Event'] + }).bind('click', function(event) { + event.preventDefault(); + _this.launchDeleteEventDialog(this, aData, nRow); + })); + + _this.initTooltip(nRow); + + //decorate the data in row + jQuery('td:eq(0)', nRow).html( + jQuery('#event_event option[value="' + aData[0] + '"]').text() + ); + jQuery('td:eq(1)', nRow).html( + jQuery('#event_bind option[value="' + aData[2] + '"]').text() + ); + jQuery('td:eq(2)', nRow).html( + jQuery('#event_action option[value="' + aData[3] + '"]').text() + ); + }, + oLanguage: { + sSearch: "", + oPaginate: { + sFirst: "≪", + sLast: "≫", + sNext: ">", + sPrevious: "<" + } + } + }); +}; + +/** + * Launch Add/Edit Event Dialog + * + * @param {Object} button + * @param {Object} aData + * @param {Object} nRow + * + * @returns {void} + * + * @access public + */ +AAM.prototype.launchManageEventDialog = function(button, aData, nRow) { + var _this = this; + + //reset form and pre-populate if edit mode + jQuery('input, select', '#manage_event_dialog').val(''); + jQuery('.event-specifier', '#manage_event_dialog').hide(); + jQuery('#status_changed', '#manage_event_dialog').hide(); + + if (aData !== null) { + jQuery('#event_event', '#manage_event_dialog').val(aData[0]); + jQuery('#event_specifier', '#manage_event_dialog').val(aData[1]); + jQuery('#event_bind', '#manage_event_dialog').val(aData[2]); + jQuery('#event_action', '#manage_event_dialog').val(aData[3]); + jQuery('#event_specifier_' + aData[3], '#manage_event_dialog').val(aData[4]); + //TODO - Make this more dynamical + jQuery('#event_event', '#manage_event_dialog').trigger('change'); + jQuery('#event_action', '#manage_event_dialog').trigger('change'); + } + + var buttons = {}; + buttons[aamLocal.labels['Save Event']] = function() { + //validate first + var data = _this.validEvent(); + if (data !== null) { + if (aData !== null) { + _this.blogTables.eventList.fnUpdate(data, nRow); + } else { + _this.blogTables.eventList.fnAddData(data); + } + jQuery('#manage_event_dialog').dialog("close"); + } else { + jQuery('#manage_event_dialog').effect('highlight', 3000); + } + }; + buttons[aamLocal.labels['Close']] = function() { + jQuery('#manage_event_dialog').dialog("close"); + }; + jQuery('#manage_event_dialog').dialog({ + resizable: false, + height: 'auto', + width: '40%', + modal: true, + buttons: buttons, + close: function() { + } + }); +}; + +/** + * Validate Event Form + * + * @returns {Boolean} + * + * @access public + */ +AAM.prototype.validEvent = function() { + var data = new Array(); + + data.push(jQuery('#event_event').val()); + data.push(jQuery('#event_specifier').val()); + data.push(jQuery('#event_bind').val()); + var action = jQuery('#event_action').val(); + data.push(action); + data.push(jQuery('#event_specifier_' + action).val()); + data.push('--'); //Event Actions Cell + + return data; +}; + +/** + * Launch Delete Event Dialog + * + * @param {Object} button + * @param {Object} aData + * @param {Object} nRow + * + * @returns {void} + * + * @access public + */ +AAM.prototype.launchDeleteEventDialog = function(button, aData, nRow) { + var _this = this; + var buttons = {}; + buttons[aamLocal.labels['Delete Event']] = function() { + _this.blogTables.eventList.fnDeleteRow(nRow); + jQuery('#delete_event').dialog("close"); + }; + buttons[aamLocal.labels['Cancel']] = function() { + jQuery('#delete_event').dialog("close"); + }; + jQuery('#delete_event').dialog({ + resizable: false, + height: 'auto', + modal: true, + title: aamLocal.labels['Delete Event'], + buttons: buttons, + close: function() { + } + }); +}; + +/** + * Initialize and Load Post Feature + * + * @returns {void} + * + * @access public + */ +AAM.prototype.initPostTab = function() { + var _this = this; + + this.initPostTree(); + + jQuery('#sidetreecontrol span').bind('click', function() { + jQuery("#tree").replaceWith('
          '); + _this.initPostTree(); + }); + + jQuery('.post-access-area').buttonset(); + jQuery('.post-access-area input', '#access_dialog').each(function() { + jQuery(this).bind('click', function() { + jQuery('#access_dialog .dataTable').hide(); + jQuery('#term_access_' + jQuery(this).val()).show(); + jQuery('#post_access_' + jQuery(this).val()).show(); + }); + }); + + this.blogTables.postList = jQuery('#post_list').dataTable({ + sDom: "<'top'lf<'aam-list-top-actions'><'clear'>><'post-breadcrumb'>t<'footer'ip<'clear'>>", + sPaginationType: "full_numbers", + bAutoWidth: false, + bSort: false, + bServerSide: true, + sAjaxSource: true, + fnServerData: function(sSource, aoData, fnCallback, oSettings) { + oSettings.jqXHR = jQuery.ajax({ + "dataType": 'json', + "type": "POST", + "url": aamLocal.ajaxurl, + "data": aoData, + "success": fnCallback + }); + }, + fnServerParams: function(aoData) { + aoData.push({ + name: 'action', + value: 'aam' + }); + aoData.push({ + name: 'sub_action', + value: 'postList' + }); + aoData.push({ + name: '_ajax_nonce', + value: aamLocal.nonce + }); + aoData.push({ + name: 'subject', + value: _this.getSubject().type + }); + aoData.push({ + name: 'subject_id', + value: _this.getSubject().id + }); + aoData.push({ + name: 'term', + value: _this.postTerm + }); + }, + fnInitComplete: function() { + var a = jQuery('#post_list_wrapper .aam-list-top-actions'); + + var filter = _this.createIcon( + 'medium', + 'filter', + aamLocal.labels['Filter Posts by Post Type'] + ).bind('click', function(event) { + event.preventDefault(); + _this.launchFilterPostDialog(this); + }); + jQuery(a).append(filter); + + var refresh = _this.createIcon( + 'medium', + 'refresh', + aamLocal.labels['Refresh List'] + ).bind('click', function(event) { + event.preventDefault(); + _this.blogTables.postList.fnDraw(); + }); + jQuery(a).append(refresh); + _this.initTooltip(a); + }, + oLanguage: { + sSearch: "", + oPaginate: { + sFirst: "≪", + sLast: "≫", + sNext: ">", + sPrevious: "<" + }, + sLengthMenu: "_MENU_" + }, + aoColumnDefs: [ + { + bVisible: false, + aTargets: [0, 1, 2, 6] + } + ], + fnRowCallback: function(nRow, aData) { //format data + jQuery('td:eq(0)', nRow).html(jQuery('
          ', { + 'href': "#", + 'class': "post-type-post" + }).bind('click', function(event) { + event.preventDefault(); + var button = jQuery('.aam-icon-manage', nRow); + _this.launchManageAccessDialog(button, nRow, aData, 'post'); + }).text(aData[3])); + + jQuery('td:eq(2)', nRow).append(jQuery('
          ', { + 'class': 'aam-list-row-actions' + })); + + jQuery('.aam-list-row-actions', nRow).append(_this.createIcon( + 'small', + 'manage', + aamLocal.labels['Manage Access'] + ).bind('click', function(event) { + event.preventDefault(); + _this.launchManageAccessDialog(this, nRow, aData, 'post'); + })); + + var edit = _this.createIcon( + 'small', + 'pen', + aamLocal.labels['Edit'] + ).attr({ + href: aData[2].replace('&', '&'), + target: '_blank' + }); + jQuery('.aam-list-row-actions', nRow).append(edit); + + if (aData[1] === 'trash') { + jQuery('.aam-list-row-actions', nRow).append(_this.createIcon( + 'small', + 'delete', + aamLocal.labels['Delete Post'] + ).bind('click', function(event) { + event.preventDefault(); + _this.launchDeletePostDialog(this, nRow, aData, true); + })); + } else { + jQuery('.aam-list-row-actions', nRow).append(_this.createIcon( + 'small', + 'trash', + aamLocal.labels['Move to Trash'] + ).bind('click', function(event) { + event.preventDefault(); + _this.launchDeletePostDialog(this, nRow, aData, false); + })); + } + + if (parseInt(aData[6]) === 1) { + jQuery('.aam-list-row-actions', nRow).append(_this.createIcon( + 'small', + 'roleback', + aamLocal.labels['Restore Default Access'] + ).bind('click', function(event) { + event.preventDefault(); + _this.restorePostAccess(aData[0], 'post', nRow); + jQuery(this).remove(); + })); + } + + _this.initTooltip(nRow); + }, + fnDrawCallback: function() { + jQuery('.post-breadcrumb').addClass('post-breadcrumb-loading'); + _this.loadBreadcrumb(); + jQuery('#event_list_wrapper .clear-table-filter').bind( + 'click', function(event) { + event.preventDefault(); + jQuery('#event_list_filter input').val(''); + _this.blogTables.postList.fnFilter(''); + } + ); + }, + fnInfoCallback: function(oSettings, iStart, iEnd, iMax, iTotal, sPre) { + return (iMax !== iTotal ? _this.clearFilterIndicator() : ''); + } + }); +}; + +/** + * Launch Filter Post Dialog (Category Tree) + * + * @param {Object} button + * + * @returns {void} + * + * @access public + */ +AAM.prototype.launchFilterPostDialog = function(button) { + var _this = this; + var buttons = {}; + buttons[aamLocal.labels['Close']] = function() { + jQuery('#filter_post_dialog').dialog("close"); + }; + jQuery('#filter_post_dialog').dialog({ + resizable: false, + height: 'auto', + width: 'auto', + modal: true, + buttons: buttons, + close: function() { + _this.deactivateIcon(button); + } + }); +}; + +/** + * Launch Manage Access Control for selected post + * + * @param {Object} button + * @param {Object} nRow + * @param {Array} aData + * @param {String} type + * + * @returns {void} + * + * @access public + */ +AAM.prototype.launchManageAccessDialog = function(button, nRow, aData, type) { + var _this = this; + + //reset the Frontend/Backend radio + if (jQuery('.post-access-area', '#access_dialog').length) { + //in case it is Visitor, this section is not rendered + jQuery('.post-access-area #post_area_frontend').attr('checked', true); + jQuery('.post-access-area').buttonset('refresh'); + } + + //retrieve settings and display the dialog + var data = this.compileAjaxPackage('getAccess', true); + data.id = aData[0]; + data.type = type; + + jQuery.ajax(aamLocal.ajaxurl, { + type: 'POST', + dataType: 'json', + data: data, + success: function(response) { + jQuery('#access_control_area').html(response.html); + jQuery('#access_dialog .dataTable').hide(); + + if (type === 'term') { + jQuery('#term_access_frontend').show(); + if (parseInt(response.counter) !== -1) { + jQuery('.post-access-block', '#access_dialog').show(); + } else { + jQuery('.post-access-block', '#access_dialog').hide(); + } + } else { + jQuery('.post-access-block', '#access_dialog').hide(); + } + + jQuery('#post_access_frontend').show(); + + + var buttons = {}; + buttons[aamLocal.labels['Restore Default']] = function() { + _this.restorePostAccess(aData[0], type, nRow); + jQuery('#access_dialog').dialog("close"); + }; + + if (response.counter <= 10) { + buttons[aamLocal.labels['Apply']] = function() { + _this.showMetaboxLoader('#access_dialog'); + var data = _this.compileAjaxPackage('saveAccess', true); + data.id = aData[0]; + data.type = type; + + jQuery('input', '#access_control_area').each(function() { + data[jQuery(this).attr('name')] = (jQuery(this).prop('checked') ? 1 : 0); + }); + + jQuery.ajax(aamLocal.ajaxurl, { + type: 'POST', + dataType: 'json', + data: data, + success: function(response) { + _this.highlight(nRow, response.status); + }, + error: function() { + _this.highlight(nRow, 'failure'); + }, + complete: function() { + _this.hideMetaboxLoader('#access_dialog'); + } + }); + jQuery('#access_dialog').dialog("close"); + }; + jQuery('.aam-lock-message', '#access_dialog').hide(); + } else { + jQuery('.aam-lock-message', '#access_dialog').show(); + } + + buttons[aamLocal.labels['Close']] = function() { + jQuery('#access_dialog').dialog("close"); + }; + + jQuery('#access_dialog').dialog({ + resizable: false, + height: 'auto', + width: '25%', + modal: true, + title: 'Manage Access', + buttons: buttons, + close: function() { + } + }); + + _this.doAction('aam_get_access_loaded'); + }, + error: function() { + _this.highlight(nRow, 'failure'); + } + }); +}; + +/** + * Restore Default Post/Term Access + * + * @param {type} id + * @param {type} type + * @param {type} nRow + * + * @returns {void} + */ +AAM.prototype.restorePostAccess = function(id, type, nRow) { + var _this = this; + + //retrieve settings and display the dialog + var data = this.compileAjaxPackage('clearAccess', true); + data.id = id; + data.type = type; + + jQuery.ajax(aamLocal.ajaxurl, { + type: 'POST', + dataType: 'json', + data: data, + success: function(response) { + _this.highlight(nRow, response.status); + }, + error: function() { + _this.highlight(nRow, 'failure'); + } + }); +}; + +/** + * Launch the Delete Post Dialog + * + * @param {Object} button + * @param {Object} nRow + * @param {Object} aData + * @param {Boolean} force + * + * @returns {void} + * + * @access public + */ +AAM.prototype.launchDeletePostDialog = function(button, nRow, aData, force) { + var _this = this; + + jQuery('#delete_post_dialog .dialog-content').html( + aamLocal.labels[(force ? 'Delete' : 'Trash') + ' Post Message'].replace('%s', aData[3]) + ); + var buttons = {}; + + if (force === false) { + buttons[aamLocal.labels['Delete Permanently']] = function() { + _this.deletePost(aData[0], true, nRow); + }; + } + + buttons[aamLocal.labels[(force ? 'Delete' : 'Trash') + ' Post']] = function() { + _this.deletePost(aData[0], force, nRow); + }; + buttons[aamLocal.labels['Cancel']] = function() { + jQuery('#delete_post_dialog').dialog("close"); + }; + + jQuery('#delete_post_dialog').dialog({ + resizable: false, + height: 'auto', + width: '30%', + modal: true, + title: aamLocal.labels[(force ? 'Delete' : 'Trash') + ' Post'], + buttons: buttons, + close: function() { + _this.deactivateIcon(button); + } + }); +}; + +/** + * Delete or Trash the Post + * + * @param {type} id + * @param {type} force + * @param {type} nRow + * + * @returns {void} + */ +AAM.prototype.deletePost = function(id, force, nRow) { + var _this = this; + + var data = _this.compileAjaxPackage('deletePost'); + data.post = id; + data.force = (force ? 1 : 0); + jQuery.ajax(aamLocal.ajaxurl, { + type: 'POST', + dataType: 'json', + data: data, + success: function(response) { + if (response.status === 'success') { + _this.blogTables.postList.fnDeleteRow(nRow); + } + _this.highlight('#post_list_wrapper', response.status); + }, + error: function() { + _this.highlight('#post_list_wrapper', 'failure'); + } + }); + jQuery('#delete_post_dialog').dialog("close"); +}; + +/** + * Build Post Breadcrumb + * + * @param {Object} response + * + * @returns {void} + * + * @access public + */ +AAM.prototype.buildPostBreadcrumb = function(response) { + var _this = this; + + jQuery('.post-breadcrumb').empty(); + //create a breadcrumb + jQuery('.post-breadcrumb').append(jQuery('
          ', { + 'class': 'post-breadcrumb-line' + })); + + for (var i in response.breadcrumb) { + jQuery('.post-breadcrumb-line').append(jQuery('', { + href: '#' + }).bind('click', { + term: response.breadcrumb[i][0] + }, function(event) { + event.preventDefault(); + _this.postTerm = event.data.term; + _this.blogTables.postList.fnDraw(); + }).html(response.breadcrumb[i][1])).append(jQuery('', { + 'class': 'aam-gt' + }).html('≫')); + } + //deactive last one + jQuery('.post-breadcrumb-line a:last').replaceWith(response.breadcrumb[i][1]); + jQuery('.post-breadcrumb-line .aam-gt:last').remove(); + + jQuery('.post-breadcrumb').append(jQuery('
          ', { + 'class': 'post-breadcrumb-line-actions' + })); + + if (/^[\d]+$/.test(this.postTerm)) { + var edit = _this.createIcon( + 'small', + 'pen', + aamLocal.labels['Edit Term'] + ).attr({ + href: response.link, + target: '_blank' + }); + jQuery('.post-breadcrumb-line-actions').append(edit); + jQuery('.post-breadcrumb-line-actions').append(_this.createIcon( + 'small', + 'manage', + aamLocal.labels['Manage Access'] + ).bind('click', {id: response.breadcrumb[i][0]}, function(event) { + event.preventDefault(); + var aData = new Array(); + aData[0] = event.data.id; + _this.launchManageAccessDialog( + this, jQuery('.post-breadcrumb'), aData, 'term' + ); + })); + } else { + jQuery('.post-breadcrumb-line-actions').append(jQuery('', { + 'href': 'http://wpaam.com', + 'target': '_blank', + 'class': 'post-breadcrumb-line-action post-breadcrumb-line-action-lock', + 'aam-tooltip': aamLocal.labels['Unlock Default Accesss Control'] + })); + this.doAction('aam_breadcrumb_action', response); + } + _this.initTooltip(jQuery('.post-breadcrumb-line-actions')); +}; + +/** + * Load Post Breadcrumb + * + * @returns {void} + * + * @access public + */ +AAM.prototype.loadBreadcrumb = function() { + var _this = this; + var data = this.compileAjaxPackage('postBreadcrumb'); + data.id = _this.postTerm; + //send the request + jQuery.ajax(aamLocal.ajaxurl, { + type: 'POST', + dataType: 'json', + data: data, + success: function(response) { + _this.buildPostBreadcrumb(response); + }, + complete: function() { + jQuery('.post-breadcrumb').removeClass('post-breadcrumb-loading'); + } + }); +}; + +/** + * Initialize and Load Category Tree + * + * @returns {void} + * + * @access public + */ +AAM.prototype.initPostTree = function() { + var _this = this; + + var data = this.compileAjaxPackage('postTree'); + + jQuery("#tree").treeview({ + url: aamLocal.ajaxurl, + // add some additional, dynamic data and request with POST + ajax: { + data: data, + type: 'post', + complete: function() { + jQuery('#tree li').each(function() { + var id = jQuery(this).attr('id'); + if (id && !jQuery(this).attr('active')) { + jQuery('.important', this).html(jQuery('', { + href: '#' + }).html(jQuery('.important', this).text()).bind('click', { + id: id + }, function(event) { + event.preventDefault(); + _this.postTerm = event.data.id; + _this.blogTables.postList.fnDraw(); + jQuery('#filter_post_dialog').dialog('close'); + })); + jQuery(this).attr('active', true); + } + }); + } + }, + animated: "medium", + control: "#sidetreecontrol", + persist: "location" + }); +}; + +/** + * Create AAM icon + * + * @param string size + * @param string qualifier + * @param string tooltip + * + * @returns {object} + * + * @access public + */ +AAM.prototype.createIcon = function(size, qualifier, tooltip){ + var icon = jQuery('', { + class: 'aam-icon aam-icon-' + size + ' aam-icon-' + size + '-' + qualifier, + href: '#' + }); + //add tooltip if defined + if (typeof tooltip !== 'undefined'){ + icon.attr('aam-tooltip', tooltip); + } + + //add iternal span to apply table-cell css + icon.html(jQuery('')); + + return icon; +}; + +/** + * Mark icons as loading + * + * @param object|string icon + * @param string size + * + * @returns void + * + * @access public + */ +AAM.prototype.loadingIcon = function(icon, size){ + jQuery(icon).addClass('aam-' + size + '-loader'); +}; + +/** + * Remove loading icon + * + * @param object|string icon + * + * @returns void + * + * @access public + */ +AAM.prototype.removeLoadingIcon = function(icon){ + if (jQuery(icon).hasClass('aam-medium-loader')){ + jQuery(icon).removeClass('aam-medium-loader'); + } else if (jQuery(icon).hasClass('aam-small-loader')){ + jQuery(icon).removeClass('aam-small-loader'); + } +}; + +/** + * Launch the button + * + * @param {Object} element + * @param {String} inactive + * + * @returns {void} + * + * @access public + */ +AAM.prototype.activateIcon = function(element, size) { + jQuery(element).addClass('aam-icon-' + size + '-active'); +}; + +/** + * Terminate the button + * + * @param {Object} element + * @param {String} inactive + * + * @returns {void} + * + * @access public + */ +AAM.prototype.deactivateIcon = function(element) { + if (jQuery(element).hasClass('aam-icon-small-active')){ + jQuery(element).removeClass('aam-icon-small-active'); + } else if (jQuery(element).hasClass('aam-icon-medium-active')){ + jQuery(element).removeClass('aam-icon-medium-active'); + } else if (jQuery(element).hasClass('aam-icon-minor-active')){ + jQuery(element).removeClass('aam-icon-minor-active'); + } +}; + +/** + * Highlight the specified DOM area + * + * @param {String} selector + * @param {String} status + * + * @returns {void} + * + * @access public + */ +AAM.prototype.highlight = function(selector, status) { + if (status === 'success') { + jQuery(selector).effect("highlight", { + color: '#98CE90' + }, 3000); + } else { + jQuery(selector).effect("highlight", { + color: '#FFAAAA' + }, 3000); + } +}; + +jQuery(document).ready(function() { + aamInterface = new AAM(); +}); \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/media/js/codemirror.js b/wp-content/plugins/advanced-access-manager/media/js/codemirror.js new file mode 100644 index 0000000..f94c403 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/media/js/codemirror.js @@ -0,0 +1 @@ +window.CodeMirror=function(){function m(a,b){if(!(this instanceof m))return new m(a,b);this.options=b=b||{};for(var c in Rb)!b.hasOwnProperty(c)&&Rb.hasOwnProperty(c)&&(b[c]=Rb[c]);Sb(b);c=this.display=Td(a,"string"==typeof b.value?0:b.value.first);c.wrapper.CodeMirror=this;Nc(this);b.autofocus&&!Tb&&N(this);this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,focused:!1,suppressEdits:!1,pasteIncoming:!1,draggingText:!1,highlight:new Ub};Oc(this);b.lineWrapping&&(this.display.wrapper.className+= " CodeMirror-wrap");var d=b.value;"string"==typeof d&&(d=new I(b.value,b.mode));t(this,Pc)(this,d);B&&setTimeout(O(Y,this,!0),20);Ud(this);var e;try{e=document.activeElement==c.input}catch(f){}e||b.autofocus&&!Tb?setTimeout(O(ha,this),20):Vb(this);t(this,function(){for(var a in pa)if(pa.propertyIsEnumerable(a))pa[a](this,b[a],Qc);for(a=0;ab.maxLineLength&&(b.maxLineLength=e,b.maxLine=a)})}function Sb(a){for(var b=!1,c=0;cb.scroller.clientWidth+1,e=c>b.scroller.clientHeight+1;e?(b.scrollbarV.style.display="block",b.scrollbarV.style.bottom=d?Na(b.measure)+"px":"0",b.scrollbarV.firstChild.style.height=c-b.scroller.clientHeight+b.scrollbarV.clientHeight+"px"):(b.scrollbarV.style.display= "",b.scrollbarV.firstChild.style.height="0");d?(b.scrollbarH.style.display="block",b.scrollbarH.style.right=e?Na(b.measure)+"px":"0",b.scrollbarH.firstChild.style.width=b.scroller.scrollWidth-b.scroller.clientWidth+b.scrollbarH.clientWidth+"px"):(b.scrollbarH.style.display="",b.scrollbarH.firstChild.style.width="0");d&&e?(b.scrollbarFiller.style.display="block",b.scrollbarFiller.style.height=b.scrollbarFiller.style.width=Na(b.measure)+"px"):b.scrollbarFiller.style.display="";d&&a.options.coverGutterNextToScrollbar&& a.options.fixedGutter?(b.gutterFiller.style.display="block",b.gutterFiller.style.height=Na(b.measure)+"px",b.gutterFiller.style.width=b.gutters.offsetWidth+"px"):b.gutterFiller.style.display="";Vd&&0===Na(b.measure)&&(b.scrollbarV.style.minWidth=b.scrollbarH.style.minHeight=Wd?"18px":"12px")}function ac(a,b,c){var d=a.scroller.scrollTop,e=a.wrapper.clientHeight;"number"==typeof c?d=c:c&&(d=c.top,e=c.bottom-c.top);d=Math.floor(d-a.lineSpace.offsetTop);a=Math.ceil(d+e);return{from:Oa(b,d),to:Oa(b,a)}} function Yb(a){var b=a.display;if(b.alignWidgets||b.gutters.firstChild&&a.options.fixedGutter){for(var c=bc(b)-b.scroller.scrollLeft+a.doc.scrollLeft,d=b.gutters.offsetWidth,e=c+"px",f=b.lineDiv.firstChild;f;f=f.nextSibling)if(f.alignable)for(var g=0,h=f.alignable;g=a.display.showingFrom&&h.to<=a.display.showingTo)break;b=[]}g&&(M(a,"update",a),a.display.showingFrom==e&&a.display.showingTo==f||M(a,"viewportChange",a,a.display.showingFrom,a.display.showingTo));return g}function Yd(a,b,c,d){var e=a.display,f=a.doc;if(!e.wrapper.clientWidth)e.showingFrom= e.showingTo=f.first,e.viewOffset=0;else if(d||!(0==b.length&&c.from>e.showingFrom&&c.tok-e.showingFrom&& (k=Math.max(f.first,e.showingFrom));e.showingTo>c&&20>e.showingTo-c&&(c=Math.min(h,e.showingTo));if(Pa)for(k=P($(f,u(f,k)));c=l[0].to?[]:Zd(l,b);if(Pa)for(h=0;hb.from)b.to=n;else{l.splice(h--,1);break}}for(h=f=0;hc&&(b.to=c),b.from>=b.to?l.splice(h--,1):f+=b.to-b.from; if(d||f!=c-k||k!=e.showingFrom||c!=e.showingTo){l.sort(function(a,b){return a.from-b.from});try{var E=document.activeElement}catch(q){}f<0.7*(c-k)&&(e.lineDiv.style.display="none");$d(a,k,c,l,g);e.lineDiv.style.display="";E&&document.activeElement!=E&&E.offsetHeight&&E.focus();if(k!=e.showingFrom||c!=e.showingTo||e.lastSizeC!=e.wrapper.clientHeight)e.lastSizeC=e.wrapper.clientHeight,Ka(a,400);e.showingFrom=k;e.showingTo=c;ae(a);Vc(a);return!0}Vc(a)}}function ae(a){a=a.display;for(var b=a.lineDiv.offsetTop, c=a.lineDiv.firstChild,d;c;c=c.nextSibling)if(c.lineObj){if(ra){var e=c.offsetTop+c.offsetHeight;d=e-b;b=e}else d=y(c),d=d.bottom-d.top;e=c.lineObj.height-d;2>d&&(d=sa(a));if(0.001e)if(R(c.lineObj,d),d=c.lineObj.widgets)for(e=0;e=l.to?f.push(l):(e.from>l.from&&f.push({from:l.from,to:e.from}),e.toq){for(;n.lineObj!=b;)n=f(n);k&&e<=q&&n.lineNumber&&Wc(n.lineNumber,cc(a.options,q));n=n.nextSibling}else{if(b.widgets)for(var C=0,r=n;r&&20>C;++C,r=r.nextSibling)if(r.lineObj==b&&/div/i.test(r.nodeName)){c= r;break}var C=a,u=q,H=c,r=fc(C,b),G=b.gutterMarkers,s=C.display;if(C.options.lineNumbers||G||b.bgClass||b.wrapClass||b.widgets){if(H){H.alignable=null;for(var t=!0,v=0,w=null,x=H.firstChild,z;x;x=z)if(z=x.nextSibling,/\bCodeMirror-linewidget\b/.test(x.className)){for(var y=0;yb&&(b=0);g.appendChild(p("div",null,"CodeMirror-selected","position: absolute; left: "+a+"px; top: "+b+"px; width: "+(null==c?h-a:c)+"px; height: "+(d-b)+"px"))}function c(c,d,f){var g=u(e,c),l=g.text.length,n,m;de(V(g),d||0,null==f?l:f,function(e,u,H){var p=rb(a,r(c,e),"div",g,"left"),s,t;e==u?(s=p,H=t=p.left):(s=rb(a,r(c,u-1),"div",g,"right"),"rtl"==H&&(H=p,p=s,s=H),H=p.left,t=s.right);null==d&&0==e&&(H=k);3m.bottom||s.bottom==m.bottom&&s.right>m.right)m=s;H=a.display.showingTo)){var c=+new Date+a.options.workTime,d=wa(b.mode,Ra(a,b.frontier)),e=[],f;b.iter(b.frontier,Math.min(b.first+b.size,a.display.showingTo+500),function(g){if(b.frontier>= a.display.showingFrom){var h=g.styles;g.styles=Xc(a,g,d);for(var k=!h||h.length!=g.styles.length,l=0;!k&&lc)return Ka(a,a.options.workDelay),!0});e.length&&t(a,function(){for(var a=0;ab;--g){if(g<=f.first)return f.first;var h=u(f,g-1);if(h.stateAfter&&(!c||g<=f.frontier))return g;h=xa(h.text,null,a.options.tabSize);if(null==e||d>h)e=g-1,d=h}return e}function Ra(a,b,c){var d=a.doc,e=a.display;if(!d.mode.startState)return!0;var f=fe(a,b,c),g=f>d.first&&u(d,f-1).stateAfter,g=g?wa(d.mode,g):Zc(d.mode);d.iter(f,b,function(c){Yc(a,c,g);c.stateAfter=f==b-1||0==f%5||f>=e.showingFrom&&ff&&0==a&&(f=1)}e=a>c?"left":ac?g.left:g.right,top:g.top,bottom:g.bottom}}function ic(a,b){for(var c=a.display.measureLineCache,d=0;dr&&(c=r);0>b&&(b=0);for(var d=m.length-2;0<=d;d-=2){var e=m[d],f=m[d+ 1];if(!(e>c||f=c||b<=e&&c>=f||Math.min(c,f)-Math.max(b,e)>=c-b>>1)){m[d]=Math.min(b,e);m[d+1]=Math.max(c,f);break}}0>d&&(d=m.length,m.push(b,c));return{left:a.left-pb.left,right:a.right-pb.left,top:d,bottom:null}}function d(a){a.bottom=m[a.top+1];a.top=m[a.top]}var e=a.display,f=$c(b.text.length),g=fc(a,b,f,!0);if(B&&!ra&&!a.options.lineWrapping&&100q&&k;++q)E.appendChild(g.firstChild),--k;h.appendChild(E)}g.appendChild(h)}W(e.measure,g);var pb=y(e.lineDiv),m=[],h=$c(b.text.length),r=g.offsetHeight;Q&&e.measure.first!=g&&W(e.measure,g);for(l=0;lc.from?f(a-1):f(a,d)}d=d||u(a.doc,b.line);e||(e=hc(a,d));var h=V(d);b=b.ch;if(!h)return f(b);var k=mc(h,b),k=g(b,k);null!=ya&&(k.other=g(b,ya));return k}function ub(a,b,c,d){a=new r(a,b);a.xRel=d;c&&(a.outside=!0);return a}function nc(a,b,c){var d=a.doc;c+=a.display.viewOffset;if(0>c)return ub(d.first, 0,!0,-1);var e=Oa(d,c),f=d.first+d.size-1;if(e>f)return ub(d.first+d.size-1,u(d,f).text.length,!0,1);for(0>b&&(b=0);;){var f=u(d,e),e=ie(a,f,e,b,c),g=(f=nb(f))&&f.find();if(f&&(e.ch>g.from.ch||e.ch==g.from.ch&&0d.bottom)return d.left-k;if(gs)return ub(c,q,u,1);for(;;){if(n?q==e||q==oc(b,e,1):1>=q-e){n=dd?-1:d?1:0)}var C=Math.ceil(E/2),t=e+C;if(n)for(var t=e,v=0;vd){q=t;s=v;if(u=h)s+=1E3;E=C}else e=t,m=v,p=h,E-=C}}function sa(a){if(null!=a.cachedTextHeight)return a.cachedTextHeight;if(null==ja){ja=p("pre");for(var b=0;49>b;++b)ja.appendChild(document.createTextNode("x")),ja.appendChild(p("br")); ja.appendChild(document.createTextNode("x"))}W(a.measure,ja);b=ja.offsetHeight/50;3c.top+k.top?l=!0:c.bottom+k.top>(window.innerHeight||document.documentElement.clientHeight)&&(l= !1),null!=l&&!ke))){if(k="none"==d.cursor.style.display)d.cursor.style.display="",d.cursor.style.left=c.left+"px",d.cursor.style.top=c.top-d.viewOffset+"px";d.cursor.scrollIntoView(l);k&&(d.cursor.style.display="none")}b.selectionChanged&&sb(a);a.state.focused&&b.updateInput&&Y(a,b.userSelChange);c=b.maybeHiddenMarkers;d=b.maybeUnhiddenMarkers;if(c)for(l=0;l+new Date-id))Ya(b);else if(!X(c,b)&&!la(c.display,b)){var d=c.getSelection();b.dataTransfer.setData("Text",d);b.dataTransfer.setDragImage&&!uc&&(d=p("img",null,null,"position: fixed; left: 0; top: 0;"),S&&(d.width=d.height=1,c.display.wrapper.appendChild(d),d._top=d.offsetTop),b.dataTransfer.setDragImage(d,0,0),S&&d.parentNode.removeChild(d))}}), v(g.scroller,"dragenter",e),v(g.scroller,"dragover",e),v(g.scroller,"drop",t(a,oe)));v(g.scroller,"paste",function(b){la(g,b)||(N(a),Ua(a))});v(g.input,"paste",function(){if(K&&!(a.state.fakedLastChar||200>new Date-a.state.lastMiddleDown)){var b=g.input.selectionStart,c=g.input.selectionEnd;g.input.value+="$";g.input.selectionStart=b;g.input.selectionEnd=c;a.state.fakedLastChar=!0}a.state.pasteIncoming=!0;Ua(a)});v(g.input,"cut",f);v(g.input,"copy",f);Xb&&v(g.sizer,"mouseup",function(){document.activeElement== g.input&&g.input.blur();N(a)})}function la(a,b){for(var c=b.target||b.srcElement;c!=a.wrapper;c=c.parentNode)if(!c||c.ignoreEvents||c.parentNode==a.sizer&&c!=a.mover)return!0}function Za(a,b,c){var d=a.display;if(!c&&(c=b.target||b.srcElement,c==d.scrollbarH||c==d.scrollbarH.firstChild||c==d.scrollbarV||c==d.scrollbarV.firstChild||c==d.scrollbarFiller||c==d.gutterFiller))return null;var e,f,d=y(d.lineSpace);try{e=b.clientX,f=b.clientY}catch(g){return null}return nc(a,e-d.left,f-d.top)}function me(a){function b(a){if(!x(p, a))if(p=a,"single"==n)F(e.doc,s(g,k),a);else if(q=s(g,q),m=s(g,m),"double"==n){var b=sc(u(g,a.line).text,a);z(a,q)?F(e.doc,b.from,m):F(e.doc,q,b.to)}else"triple"==n&&(z(a,q)?F(e.doc,m,s(g,r(a.line,0))):F(e.doc,q,s(g,r(a.line+1,0))))}function c(a){var d=++qb,h=Za(e,a,!0);if(h)if(x(h,E)){var k=a.clientYw.bottom?20:0;k&&setTimeout(t(e,function(){qb==d&&(f.scroller.scrollTop+=k,c(a))}),50)}else{e.state.focused||ha(e);E=h;b(h);var l=ac(f,g);(h.line>=l.to||h.linel-400&&x(Ab.pos,k)?(n="triple",A(a),setTimeout(O(N,e),20),pe(e,k.line)):Bb&&Bb.time>l-400&&x(Bb.pos,k)?(n="double",Ab={time:l,pos:k},A(a),l=sc(u(g,k.line).text,k),F(e.doc,l.from,l.to)):Bb={time:l,pos:k};var E=k;if(!e.options.dragDrop||!qe||Va(e)||x(h.from,h.to)||z(k,h.from)||z(h.to,k)||"single"!=n){A(a);"single"==n&&F(e.doc,s(g,k));var q=h.from,m=h.to,p=k,w=y(f.wrapper),qb=0,C=t(e,function(a){B||jd(a)?c(a):d(a)}),D=t(e,d);v(document,"mousemove",C);v(document,"mouseup",D)}else{var J= t(e,function(b){K&&(f.scroller.draggable=!1);e.state.draggingText=!1;aa(document,"mouseup",J);aa(f.scroller,"drop",J);10>Math.abs(a.clientX-b.clientX)+Math.abs(a.clientY-b.clientY)&&(A(b),F(e.doc,k),N(e))});K&&(f.scroller.draggable=!0);e.state.draggingText=J;f.scroller.dragDrop&&f.scroller.dragDrop();v(document,"mouseup",J);v(f.scroller,"drop",J)}}else(a.target||a.srcElement)==f.scroller&&A(a)}}}function ed(a,b){var c=a.display;try{var d=b.clientX,e=b.clientY}catch(f){return!1}if(d>=Math.floor(y(c.gutters).right))return!1; A(b);if(!ba(a,"gutterClick"))return!0;var g=y(c.lineDiv);if(e>g.bottom)return!0;e-=g.top-c.viewOffset;for(g=0;g=d){c=Oa(a.doc,e);M(a,"gutterClick",a,c,a.options.gutters[g],b);break}}return!0}function oe(a){var b=this;if(!(X(b,a)||la(b.display,a)||b.options.onDragEvent&&b.options.onDragEvent(b,Xa(a)))){A(a);B&&(id=+new Date);var c=Za(b,a,!0),d=a.dataTransfer.files;if(c&&!Va(b))if(d&&d.length&&window.FileReader&&window.File){var e= d.length,f=Array(e),g=0;a=function(a,d){var h=new FileReader;h.onload=function(){f[d]=h.result;++g==e&&(c=s(b.doc,c),Ca(b.doc,{from:c,to:c,text:ka(f.join("\n")),origin:"paste"},"around"))};h.readAsText(a)};for(var h=0;hMath.abs(a.doc.scrollTop-b)||(a.doc.scrollTop=b,Da||ob(a,[],b),a.display.scroller.scrollTop!=b&&(a.display.scroller.scrollTop=b),a.display.scrollbarV.scrollTop!=b&&(a.display.scrollbarV.scrollTop=b),Da&&ob(a,[]),Ka(a,100))}function Ba(a,b,c){(c?b==a.doc.scrollLeft:2>Math.abs(a.doc.scrollLeft-b))||(b=Math.min(b,a.display.scroller.scrollWidth-a.display.scroller.clientWidth),a.doc.scrollLeft=b,Yb(a),a.display.scroller.scrollLeft!=b&&(a.display.scroller.scrollLeft= b),a.display.scrollbarH.scrollLeft!=b&&(a.display.scrollbarH.scrollLeft=b))}function gd(a,b){var c=b.wheelDeltaX,d=b.wheelDeltaY;null==c&&b.detail&&b.axis==b.HORIZONTAL_AXIS&&(c=b.detail);null==d&&b.detail&&b.axis==b.VERTICAL_AXIS?d=b.detail:null==d&&(d=b.wheelDelta);var e=a.display,f=e.scroller;if(c&&f.scrollWidth>f.clientWidth||d&&f.scrollHeight>f.clientHeight){if(d&&va&&K)for(var g=b.target;g!=f;g=g.parentNode)if(g.lineObj){a.display.currentWheelTarget=g;break}if(!c||Da||S||null==T){if(d&&null!= T){var g=d*T,h=a.doc.scrollTop,k=h+e.wrapper.clientHeight;0>g?h=Math.max(0,h+g-50):k=Math.min(a.doc.height,k+g+50);ob(a,[],{top:h,bottom:k})}20>Cb&&(null==e.wheelStartX?(e.wheelStartX=f.scrollLeft,e.wheelStartY=f.scrollTop,e.wheelDX=c,e.wheelDY=d,setTimeout(function(){if(null!=e.wheelStartX){var a=f.scrollLeft-e.wheelStartX,b=f.scrollTop-e.wheelStartY,a=b&&e.wheelDY&&b/e.wheelDY||a&&e.wheelDX&&a/e.wheelDX;e.wheelStartX=e.wheelStartY=null;a&&(T=(T*Cb+a)/(Cb+1),++Cb)}},200)):(e.wheelDX+=c,e.wheelDY+= d))}else d&&$a(a,Math.max(0,Math.min(f.scrollTop+d*T,f.scrollHeight-f.clientHeight))),Ba(a,Math.max(0,Math.min(f.scrollLeft+c*T,f.scrollWidth-f.clientWidth))),A(b),e.wheelStartX=null}}function Db(a,b,c){if("string"==typeof b&&(b=vc[b],!b))return!1;a.display.pollingFast&&rc(a)&&(a.display.pollingFast=!1);var d=a.doc,e=d.sel.shift,f=!1;try{Va(a)&&(a.state.suppressEdits=!0),c&&(d.sel.shift=!1),f=b(a)!=kd}finally{d.sel.shift=e,a.state.suppressEdits=!1}return f}function ld(a){var b=a.state.keyMaps.slice(0); a.options.extraKeys&&b.push(a.options.extraKeys);b.push(a.options.keyMap);return b}function md(a,b){var c=wc(a.options.keyMap),d=c.auto;clearTimeout(nd);d&&!od(b)&&(nd=setTimeout(function(){wc(a.options.keyMap)==c&&(a.options.keyMap=d.call?d.call(null,a):d,Uc(a))},50));var e=pd(b,!0),f=!1;if(!e)return!1;f=ld(a);if(f=b.shiftKey?ab("Shift-"+e,f,function(b){return Db(a,b,!0)})||ab(e,f,function(b){if("string"==typeof b?/^go[A-Z]/.test(b):b.motion)return Db(a,b)}):ab(e,f,function(b){return Db(a,b)}))A(b), sb(a),Q&&(b.oldKeyCode=b.keyCode,b.keyCode=0),M(a,"keyHandled",a,e,b);return f}function re(a,b,c){var d=ab("'"+c+"'",ld(a),function(b){return Db(a,b,!0)});d&&(A(b),sb(a),M(a,"keyHandled",a,"'"+c+"'",b));return d}function hd(a){this.state.focused||ha(this);if(!(X(this,a)||this.options.onKeyEvent&&this.options.onKeyEvent(this,Xa(a)))){B&&27==a.keyCode&&(a.returnValue=!1);var b=a.keyCode;this.doc.sel.shift=16==b||a.shiftKey;var c=md(this,a);S&&(xc=c?b:null,!c&&88==b&&!cd&&(va?a.metaKey:a.ctrlKey)&&this.replaceSelection(""))}} function ne(a){var b=this;if(!(X(b,a)||b.options.onKeyEvent&&b.options.onKeyEvent(b,Xa(a)))){var c=a.keyCode,d=a.charCode;S&&c==xc?(xc=null,A(a)):(S&&(!a.which||10>a.which)||Xb)&&md(b,a)||(c=String.fromCharCode(null==d?c:d),this.options.electricChars&&this.doc.mode.electricChars&&this.options.smartIndent&&!Va(this)&&-1b++?yc=setTimeout(d,500): Y(a)};yc=setTimeout(d,200)}}if(!X(a,b,"contextmenu")){var e=a.display,f=a.doc.sel;if(!la(e,b)){var g=Za(a,b),h=e.scroller.scrollTop;if(g&&!S){(x(f.from,f.to)||z(g,f.from)||!z(g,f.to))&&t(a,ea)(a.doc,g,g);var k=e.input.style.cssText;e.inputDiv.style.position="absolute";e.input.style.cssText="position: fixed; width: 30px; height: 30px; top: "+(b.clientY-5)+"px; left: "+(b.clientX-5)+"px; z-index: 1000; background: white; outline: none;border-width: 0; outline: none; overflow: hidden; opacity: .05; -ms-opacity: .05; filter: alpha(opacity=5);"; N(a);Y(a,!0);x(f.from,f.to)&&(e.input.value=e.prevInput=" ");B&&!Q&&c();if(tc){Ya(b);var l=function(){aa(window,"mouseup",l);setTimeout(d,20)};v(window,"mouseup",l)}else setTimeout(d,50)}}}}function qd(a,b,c){if(!z(b.from,c))return s(a,c);var d=b.text.length-1-(b.to.line-b.from.line);if(c.line>b.to.line+d)return b=c.line-d,d=a.first+a.size-1,b>d?r(d,u(a,d).text.length):Fb(c,u(a,b).text.length);if(c.line==b.to.line+d)return Fb(c,L(b.text).length+(1==b.text.length?b.from.ch:0)+u(a,b.to.line).text.length- b.to.ch);a=c.line-b.from.line;return Fb(c,b.text[a].length+(a?0:b.from.ch))}function zc(a,b,c){if(c&&"object"==typeof c)return{anchor:qd(a,b,c.anchor),head:qd(a,b,c.head)};if("start"==c)return{anchor:b.from,head:b.from};var d=Ac(b);if("around"==c)return{anchor:b.from,head:d};if("end"==c)return{anchor:d,head:d};c=function(a){if(z(a,b.from))return a;if(!z(b.to,a))return d;var c=a.line+b.text.length-(b.to.line-b.from.line)-1,g=a.ch;a.line==b.to.line&&(g+=d.ch-b.to.ch);return r(c,g)};return{anchor:c(a.sel.anchor), head:c(a.sel.head)}}function rd(a,b,c){b={canceled:!1,from:b.from,to:b.to,text:b.text,origin:b.origin,cancel:function(){this.canceled=!0}};c&&(b.update=function(b,c,f,g){b&&(this.from=s(a,b));c&&(this.to=s(a,c));f&&(this.text=f);void 0!==g&&(this.origin=g)});J(a,"beforeChange",a,b);a.cm&&J(a.cm,"beforeChange",a.cm,b);return b.canceled?null:{from:b.from,to:b.to,text:b.text,origin:b.origin}}function Ca(a,b,c,d){if(a.cm){if(!a.cm.curOp)return t(a.cm,Ca)(a,b,c,d);if(a.cm.state.suppressEdits)return}if(ba(a, "beforeChange")||a.cm&&ba(a.cm,"beforeChange"))if(b=rd(a,b,!0),!b)return;if(d=sd&&!d&&se(a,b.from,b.to)){for(var e=d.length-1;1<=e;--e)Bc(a,{from:d[e].from,to:d[e].to,text:[""]});d.length&&Bc(a,{from:d[0].from,to:d[0].to,text:b.text},c)}else Bc(a,b,c)}function Bc(a,b,c){c=zc(a,b,c);td(a,b,c,a.cm?a.cm.curOp.id:NaN);bb(a,b,c,Cc(a,b));var d=[];Ea(a,function(a,c){c||-1!=ca(d,a.history)||(ud(a.history,b),d.push(a.history));bb(a,b,null,Cc(a,b))})}function vd(a,b){if(!a.cm||!a.cm.state.suppressEdits){var c= a.history,d=("undo"==b?c.done:c.undone).pop();if(d){var e={changes:[],anchorBefore:d.anchorAfter,headBefore:d.headAfter,anchorAfter:d.anchorBefore,headAfter:d.headBefore,generation:c.generation};("undo"==b?c.undone:c.done).push(e);c.generation=d.generation||++c.maxGeneration;for(var f=ba(a,"beforeChange")||a.cm&&ba(a.cm,"beforeChange"),g=d.changes.length-1;0<=g;--g){var h=d.changes[g];h.origin=b;if(f&&!rd(a,h,!1)){("undo"==b?c.done:c.undone).length=0;break}e.changes.push(Dc(a,h));var k=g?zc(a,h,null): {anchor:d.anchorBefore,head:d.headBefore};bb(a,h,k,wd(a,h));var l=[];Ea(a,function(a,b){b||-1!=ca(l,a.history)||(ud(a.history,h),l.push(a.history));bb(a,h,null,wd(a,h))})}}}}function xd(a,b){function c(a){return r(a.line+b,a.ch)}a.first+=b;a.cm&&D(a.cm,a.first,a.first,b);a.sel.head=c(a.sel.head);a.sel.anchor=c(a.sel.anchor);a.sel.from=c(a.sel.from);a.sel.to=c(a.sel.to)}function bb(a,b,c,d){if(a.cm&&!a.cm.curOp)return t(a.cm,bb)(a,b,c,d);if(b.to.linea.lastLine())){if(b.from.linee&&(b={from:b.from,to:r(e,u(a,e).text.length),text:[b.text[0]],origin:b.origin});b.removed=Ec(a,b.from,b.to);c||(c=zc(a,b,null));a.cm?te(a.cm,b,d,c):Fc(a,b,d,c)}}function te(a,b,c,d){var e=a.doc,f=a.display,g=b.from,h=b.to,k=!1,l=g.line;a.options.lineWrapping||(l=P($(e,u(e,g.line))), e.iter(l,h.line+1,function(a){if(a==f.maxLine)return k=!0}));z(e.sel.head,b.from)||z(b.to,e.sel.head)||(a.curOp.cursorActivity=!0);Fc(e,b,c,d,Rc(a));a.options.lineWrapping||(e.iter(l,g.line+b.text.length,function(a){var b=mb(e,a);b>f.maxLineLength&&(f.maxLine=a,f.maxLineLength=b,f.maxLineChanged=!0,k=!1)}),k&&(a.curOp.updateMaxLine=!0));e.frontier=Math.min(e.frontier,g.line);Ka(a,400);D(a,g.line,h.line+1,b.text.length-(h.line-g.line)-1);if(ba(a,"change"))if(b={from:g,to:h,text:b.text,removed:b.removed, origin:b.origin},a.curOp.textChanged){for(a=a.curOp.textChanged;a.next;a=a.next);a.next=b}else a.curOp.textChanged=b}function fa(a,b,c,d,e){d||(d=c);if(z(d,c)){var f=d;d=c;c=f}"string"==typeof b&&(b=ka(b));Ca(a,{from:c,to:d,text:b,origin:e},null)}function r(a,b){if(!(this instanceof r))return new r(a,b);this.line=a;this.ch=b}function x(a,b){return a.line==b.line&&a.ch==b.ch}function z(a,b){return a.linec?r(c,u(a,c).text.length):Fb(b,u(a,b.line).text.length)}function Fb(a,b){var c=a.ch;return null==c||c>b?r(a.line,b):0>c?r(a.line,0):a}function Fa(a,b){return b>=a.first&&b=f.ch:l.to>f.ch))){if(d&&(J(n,"beforeCursorEnter"),n.explicitlyCleared))if(h.markedSpans){--k;continue}else break;if(n.atomic){k=n.find()[0>g?"from":"to"];if(x(k, f)&&(k.ch+=g,0>k.ch?k=k.line>a.first?s(a,r(k.line-1)):null:k.ch>h.text.length&&(k=k.linec&&(c=0);var h=f.scroller.clientHeight-qa,k=f.scroller.scrollTop,l={};a=a.doc.height+(f.mover.offsetHeight-f.lineSpace.offsetHeight);var n=ca-g;ck+h&&(c=Math.min(c,(g?a:e)-h),c!=k&&(l.scrollTop=c));k=f.scroller.clientWidth-qa;c=f.scroller.scrollLeft;b+=f.gutters.offsetWidth;d+=f.gutters.offsetWidth;f=f.gutters.offsetWidth;e=b k+c-3&&(l.scrollLeft=d+10-k);return l}function Hb(a,b,c){a.curOp.updateScrollPos={scrollLeft:null==b?a.doc.scrollLeft:b,scrollTop:null==c?a.doc.scrollTop:c}}function Gc(a,b,c){var d=a.curOp.updateScrollPos||(a.curOp.updateScrollPos={scrollLeft:a.doc.scrollLeft,scrollTop:a.doc.scrollTop});a=a.display.scroller;d.scrollTop=Math.max(0,Math.min(a.scrollHeight-a.clientHeight,d.scrollTop+c));d.scrollLeft=Math.max(0,Math.min(a.scrollWidth-a.clientWidth,d.scrollLeft+b))}function Eb(a,b,c,d){var e=a.doc;null== c&&(c="add");if("smart"==c)if(a.doc.mode.indent)var f=Ra(a,b);else c="prev";var g=a.options.tabSize,h=u(e,b),k=xa(h.text,null,g),l=h.text.match(/^\s*/)[0],n;if("smart"==c&&(n=a.doc.mode.indent(f,h.text.slice(l.length),h.text),n==kd)){if(!d)return;c="prev"}"prev"==c?n=b>e.first?xa(u(e,b-1).text,null,g):0:"add"==c?n=k+a.options.indentUnit:"subtract"==c?n=k-a.options.indentUnit:"number"==typeof c&&(n=k+c);n=Math.max(0,n);c="";d=0;if(a.options.indentWithTabs)for(e=Math.floor(n/g);e;--e)d+=g,c+="\t";d< n&&(c+=zd(n-d));c!=l&&fa(a.doc,c,r(b,0),r(b,l.length),"+input");h.stateAfter=null}function Ib(a,b,c){var d=b,e=b,f=a.doc;"number"==typeof b?e=u(f,Math.max(f.first,Math.min(b,f.first+f.size-1))):d=P(b);if(null!=d&&c(e,d))D(a,d,d+1);else return null;return e}function Hc(a,b,c,d,e){function f(b){var d=(e?oc:Ad)(k,h,c,!0);if(null==d){if(b=!b)b=g+c,b=a.first+a.size?b=l=!1:(g=b,b=k=u(a,b));if(b)h=e?(0>c?wb:vb)(k):0>c?k.text.length:0;else return l=!1}else h=d;return!0}var g=b.line,h=b.ch;b=c; var k=u(a,g),l=!0;if("char"==d)f();else if("column"==d)f(!0);else if("word"==d||"group"==d){var n=null;d="group"==d;for(var E=!0;!(0>c)||f(!E);E=!1){var q=k.text.charAt(h)||"\n",q=cb(q)?"w":d?/\s/.test(q)?null:"p":null;if(n&&n!=q){0>c&&(c=1,f());break}q&&(n=q);if(0 c?1.5:0.5)*sa(a.display))):"line"==d&&(g=0c?0>=g:g>=e.height){h.hitSide=!0;break}g+=5*c}return h}function sc(a,b){var c=b.ch,d=b.ch;if(a){(0>b.xRel||d==a.length)&&c?--c:++d;for(var e=a.charAt(c),e=cb(e)?cb:/\s/.test(e)?function(a){return/\s/.test(a)}:function(a){return!/\s/.test(a)&&!cb(a)};0=e:l.to>e);(k||(k=[])).push({from:l.from,to:E?null:l.to,marker:n})}}c=k;if(d)for(var h=0,m;h=f:k.to>f)||"bookmark"==l.type&&k.from==f&&(!g||k.marker.insertLeft))n=null==k.from||(l.inclusiveLeft?k.from<=f:k.fromb)&&(!d||d.widtha.options.maxHighlightLength?(f=!1,k.pos=Math.min(b.length,k.start+5E4),l=null):l=c.token(k,d),f&&h==l||(ga&&d.splice(f,1,a,d[f+1],n);f+=2;g=Math.min(a,n)}if(b)if(e.opaque)d.splice(c,f-c,a,b),f=c+2;else for(;cq)?(null!=A.to&&v>A.to&&(v=A.to,w=""),F.className&&(C+=" "+F.className),F.startStyle&&A.from==q&&(x+=" "+F.startStyle),F.endStyle&&A.to==v&&(w+=" "+F.endStyle),F.title&&!y&&(y=F.title),F.collapsed&&(!G||G.marker.sizeq&&v>A.from&&(v=A.from);"bookmark"==F.type&&A.from==q&&F.replacedWith&& z.push(F)}if(G&&(G.from||0)==q&&(Ld(e,(null==G.to?m:G.to)-q,G.marker,null==G.from),null==G.to)){e=G.marker.find();break a}if(!G&&z.length)for(D=0;D=m)break;for(z=Math.min(m,v);;){if(s){D=q+s.length;G||(A=D>z?s.slice(0,z-q):s,e.addToken(e,A,t?t+C:C,x,q+A.length==v?w:"",y));if(D>=z){s=s.slice(z-q);q=z;break}q=D;x=""}s=l.slice(n,n=h[r++]);t=Id(h[r++])}}else for(var r=1;rh&&gf-a.cm.options.historyEventDelay||"*"==b.origin.charAt(0)))){var h=L(g.changes);x(b.from,b.to)&&x(b.from,h.to)?h.to=Ac(b):g.changes.push(Dc(a,b));g.anchorAfter=c.anchor;g.headAfter=c.head}else for(g={changes:[Dc(a,b)],generation:e.generation,anchorBefore:a.sel.anchor,headBefore:a.sel.head,anchorAfter:c.anchor,headAfter:c.head},e.done.push(g),e.generation= ++e.maxGeneration;e.done.length>e.undoDepth;)e.done.shift();e.lastTime=f;e.lastOp=d;e.lastOrigin=b.origin}function ve(a){if(!a)return null;for(var b=0,c;b=b.offsetWidth&&2b||b==c&&g.to==b)d(Math.max(g.from,b),Math.min(g.to,c),1==g.level?"rtl":"ltr"),e=!0}e||d(b,c,"ltr")}function kc(a){return a.level%2?a.to:a.from}function lc(a){return a.level%2?a.from:a.to}function vb(a){return(a=V(a))?kc(a[0]):0}function wb(a){var b=V(a);return b?lc(L(b)):a.text.length}function Rd(a,b){var c=u(a.doc,b),d=$(a.doc,c);d!=c&&(b=P(d));d=(c=V(d))?c[0].level%2?wb(d):vb(d):0;return r(b, d)}function De(a,b){for(var c,d;c=nb(d=u(a.doc,b));)b=c.find().to.line;d=(c=V(d))?c[0].level%2?vb(d):wb(d):d.text.length;return r(b,d)}function mc(a,b){for(var c=0,d;cb)return ya=null,c;if(e.from==b||e.to==b)if(null==d)d=c;else{var e=e.level,f=a[d].level,g=a[0].level,e=e==g?!0:f==g?!1:eg.from&&bb||b>a.text.length?null:b}var Da=/gecko\/\d/i.test(navigator.userAgent),B=/MSIE \d/.test(navigator.userAgent),ra=B&&(null==document.documentMode|| 8>document.documentMode),Q=B&&(null==document.documentMode||9>document.documentMode),K=/WebKit\//.test(navigator.userAgent),Ee=K&&/Qt\/\d+\.\d+/.test(navigator.userAgent),Fe=/Chrome\//.test(navigator.userAgent),S=/Opera\//.test(navigator.userAgent),uc=/Apple Computer/.test(navigator.vendor),Xb=/KHTML\//.test(navigator.userAgent),Vd=/Mac OS X 1\d\D([7-9]|\d\d)\D/.test(navigator.userAgent),Wd=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(navigator.userAgent),ke=/PhantomJS/.test(navigator.userAgent),Ia=/AppleWebKit/.test(navigator.userAgent)&& /Mobile\/\w+/.test(navigator.userAgent),Tb=Ia||/Android|webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(navigator.userAgent),va=Ia||/Mac/.test(navigator.platform),Ge=/win/i.test(navigator.platform),oa=S&&navigator.userAgent.match(/Version\/(\d*\.\d*)/);oa&&(oa=Number(oa[1]));oa&&15<=oa&&(S=!1,K=!0);var Cd=va&&(Ee||S&&(null==oa||12.11>oa)),tc=Da||B&&!Q,sd=!1,Pa=!1,ja,je=0,Bb,Ab,id=0,Cb=0,T=null;B?T=-0.53:Da?T=15:Fe?T=-0.7:uc&&(T=-1/3);var nd,xc=null,yc,Ac=m.changeEnd=function(a){return a.text? r(a.from.line+a.text.length-1,L(a.text).length+(1==a.text.length?a.from.ch:0)):a.to};m.Pos=r;m.prototype={constructor:m,focus:function(){window.focus();N(this);ha(this);Ua(this)},setOption:function(a,b){var c=this.options,d=c[a];if(c[a]!=b||"mode"==a)c[a]=b,pa.hasOwnProperty(a)&&t(this,pa[a])(this,b,d)},getOption:function(a){return this.options[a]},getDoc:function(){return this.doc},addKeyMap:function(a,b){this.state.keyMaps[b?"push":"unshift"](a)},removeKeyMap:function(a){for(var b=this.state.keyMaps, c=0;c>1;if((e?b[2*e-1]:0)>=a)d=e;else if(b[2*e+1]d&&(a=d,c=!0);d=u(this.doc,a);return jc(this,u(this.doc,a),{top:0,left:0},b||"page").top+(c?d.height:0)},defaultTextHeight:function(){return sa(this.display)},defaultCharWidth:function(){return Sc(this.display)},setGutterMarker:t(null,function(a,b,c){return Ib(this,a,function(a){var e= a.gutterMarkers||(a.gutterMarkers={});e[b]=c;!c&&Qd(e)&&(a.gutterMarkers=null);return!0})}),clearGutter:t(null,function(a){var b=this,c=b.doc,d=c.first;c.iter(function(c){c.gutterMarkers&&c.gutterMarkers[a]&&(c.gutterMarkers[a]=null,D(b,d,d+1),Qd(c.gutterMarkers)&&(c.gutterMarkers=null));++d})}),addLineClass:t(null,function(a,b,c){return Ib(this,a,function(a){var e="text"==b?"textClass":"background"==b?"bgClass":"wrapClass";if(a[e]){if(RegExp("(?:^|\\s)"+c+"(?:$|\\s)").test(a[e]))return!1;a[e]+=" "+ c}else a[e]=c;return!0})}),removeLineClass:t(null,function(a,b,c){return Ib(this,a,function(a){var e="text"==b?"textClass":"background"==b?"bgClass":"wrapClass",f=a[e];if(f)if(null==c)a[e]=null;else{var g=f.match(RegExp("(?:^|\\s+)"+c+"(?:$|\\s+)"));if(!g)return!1;var h=g.index+g[0].length;a[e]=f.slice(0,g.index)+(g.index&&h!=f.length?" ":"")+f.slice(h)||null}else return!1;return!0})}),addLineWidget:t(null,function(a,b,c){return we(this,a,b,c)}),removeLineWidget:function(a){a.clear()},lineInfo:function(a){if("number"== typeof a){if(!Fa(this.doc,a))return null;var b=a;a=u(this.doc,a);if(!a)return null}else if(b=P(a),null==b)return null;return{line:b,handle:a,text:a.text,gutterMarkers:a.gutterMarkers,textClass:a.textClass,bgClass:a.bgClass,wrapClass:a.wrapClass,widgets:a.widgets}},getViewport:function(){return{from:this.display.showingFrom,to:this.display.showingTo}},addWidget:function(a,b,c,d,e){var f=this.display;a=U(this,s(this.doc,a));var g=a.bottom,h=a.left;b.style.position="absolute";f.sizer.appendChild(b); if("over"==d)g=a.top;else if("above"==d||"near"==d){var k=Math.max(f.wrapper.clientHeight,this.doc.height),l=Math.max(f.sizer.clientWidth,f.lineSpace.clientWidth);("above"==d||a.bottom+b.offsetHeight>k)&&a.top>b.offsetHeight?g=a.top-b.offsetHeight:a.bottom+b.offsetHeight<=k&&(g=a.bottom);h+b.offsetWidth>l&&(h=l-b.offsetWidth)}b.style.top=g+"px";b.style.left=b.style.right="";"right"==e?(h=f.sizer.clientWidth-b.offsetWidth,b.style.right="0px"):("left"==e?h=0:"middle"==e&&(h=(f.sizer.clientWidth-b.offsetWidth)/ 2),b.style.left=h+"px");c&&(a=yb(this,h,g,h+b.offsetWidth,g+b.offsetHeight),null!=a.scrollTop&&$a(this,a.scrollTop),null!=a.scrollLeft&&Ba(this,a.scrollLeft))},triggerOnKeyDown:t(null,hd),execCommand:function(a){return vc[a](this)},findPosH:function(a,b,c,d){var e=1;0>b&&(e=-1,b=-b);var f=0;for(a=s(this.doc,a);fa?c.from:c.to;F(this.doc,c,c,a)}),deleteH:t(null,function(a,b){var c=this.doc.sel;x(c.from,c.to)?fa(this.doc,"",c.from,Hc(this.doc,c.head,a,b,!1),"+delete"):fa(this.doc,"",c.from,c.to,"+delete");this.curOp.userSelChange=!0}),findPosV:function(a,b,c,d){var e=1;0>b&&(e=-1,b=-b);var f=0;for(a=s(this.doc,a);f=this.string.length},sol:function(){return 0==this.pos},peek:function(){return this.string.charAt(this.pos)||void 0},next:function(){if(this.posb},eatSpace:function(){for(var a= this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>a},skipToEnd:function(){this.pos=this.string.length},skipTo:function(a){a=this.string.indexOf(a,this.pos);if(-1a.display.maxLineLength&&(a.display.maxLine=f,a.display.maxLineLength=g,a.display.maxLineChanged=!0);null!=c&&a&&D(a,c,d+1);this.lines.length=0;this.explicitlyCleared=!0;this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,a&&yd(a));b&&Aa(a)}};ga.prototype.find=function(){for(var a,b,c=0;c=b.display.showingFrom&&a.linethis.size-b&&(c=[],this.collapse(c),this.children=[new Mb(c)],this.children[0].parent=this)},collapse:function(a){for(var b=0,c=this.children.length;b=this.children.length)){var a=this;do{var b=a.children.splice(a.children.length-5,5),b=new hb(b);if(a.parent){a.size-=b.size;a.height-=b.height;var c=ca(a.parent.children,a);a.parent.children.splice(c+1,0,b)}else c=new hb(a.children),c.parent= a,a.children=[c,b],a=c;b.parent=a.parent}while(10=a.ch)&&b.push(e.marker.parent||e.marker)}return b},getAllMarks:function(){var a=[];this.iter(function(b){if(b=b.markedSpans)for(var c=0;ca)return b=a,!0;a-=d;++c});return s(this,r(c,b))},indexFromPos:function(a){a=s(this,a);var b=a.ch;if(a.linea.ch)return 0;this.iter(this.first,a.line,function(a){b+=a.text.length+1});return b},copy:function(a){var b=new I(Kc(this,this.first,this.first+this.size),this.modeOption,this.first);b.scrollTop=this.scrollTop;b.scrollLeft=this.scrollLeft;b.sel={from:this.sel.from,to:this.sel.to,head:this.sel.head,anchor:this.sel.anchor,shift:this.sel.shift,extend:!1,goalColumn:this.sel.goalColumn}; a&&(b.history.undoDepth=this.history.undoDepth,b.setHistory(this.getHistory()));return b},linkedDoc:function(a){a||(a={});var b=this.first,c=this.first+this.size;null!=a.from&&a.from>b&&(b=a.from);null!=a.to&&a.toca(Ie,lb)&&(m.prototype[lb]=function(a){return function(){return a.apply(this.doc,arguments)}}(I.prototype[lb]));Ha(I);m.e_stop=Ya;m.e_preventDefault=A;m.e_stopPropagation=Od;var da,xb=0;m.on=v;m.off=aa;m.signal=J;var qa=30,kd=m.Pass={toString:function(){return"CodeMirror.Pass"}};Ub.prototype={set:function(a,b){clearTimeout(this.id);this.id=setTimeout(b,a)}};m.countColumn=xa;var Qb=[""],Ce=/[\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,pc=/[\u0300-\u036F\u0483-\u0487\u0488-\u0489\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7-\u06E8\u06EA-\u06ED\uA66F\uA670-\uA672\uA674-\uA67D\uA69F\udc00-\udfff]/; m.replaceGetRect=function(a){y=a};var qe=function(){if(Q)return!1;var a=p("div");return"draggable"in a||"dragDrop"in a}();Da?Lb=function(a,b){return 36==a.charCodeAt(b-1)&&39==a.charCodeAt(b)}:uc&&!/Version\/([6-9]|\d\d)\b/.test(navigator.userAgent)?Lb=function(a,b){return/\-[^ \-?]|\?[^ !\'\"\),.\-\/:;\?\]\}]/.test(a.slice(b-1,b+1))}:K&&!/Chrome\/(?:29|[3-9]\d|\d\d\d)\./.test(navigator.userAgent)&&(Lb=function(a,b){if(1,:;][({[<]|-[^\-?\.\u2010-\u201f\u2026]|\?[\w~`@#$%\^&*(_=+{[|><]|\u2026[\w~`@#$%\^&*(_=+{[><]/.test(a.slice(b-1,b+1))});var Wa,Lc,ka=3!="\n\nb".split(/\n/).length?function(a){for(var b=0,c=[],d=a.length;b<=d;){var e=a.indexOf("\n",b);-1==e&&(e=a.length);var f=a.slice(b,"\r"==a.charAt(e-1)?e-1:e),g=f.indexOf("\r");-1!=g?(c.push(f.slice(0,g)),b+=g+1):(c.push(f),b=e+1)}return c}:function(a){return a.split(/\r\n?|\n/)}; m.splitLines=ka;var le=window.getSelection?function(a){try{return a.selectionStart!=a.selectionEnd}catch(b){return!1}}:function(a){try{var b=a.ownerDocument.selection.createRange()}catch(c){}return b&&b.parentElement()==a?0!=b.compareEndPoints("StartToEnd",b):!1},cd=function(){var a=p("div");if("oncopy"in a)return!0;a.setAttribute("oncopy","return;");return"function"==typeof a.oncopy}(),na={3:"Enter",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc", 32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",91:"Mod",92:"Mod",93:"Mod",109:"-",107:"=",127:"Delete",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63276:"PageUp",63277:"PageDown",63275:"End",63273:"Home",63234:"Left",63232:"Up",63235:"Right",63233:"Down",63302:"Insert",63272:"Delete"};m.keyNames=na;(function(){for(var a=0;10>a;a++)na[a+48]=String(a);for(a=65;90>= a;a++)na[a]=String.fromCharCode(a);for(a=1;12>=a;a++)na[a+111]=na[a+63235]="F"+a})();var ya,ze=function(){function a(a){return 255>=a?b.charAt(a):1424<=a&&1524>=a?"R":1536<=a&&1791>=a?c.charAt(a-1536):1792<=a&&2220>=a?"r":"L"}var b="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLL",c="rrrrrrrrrrrr,rNNmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmrrrrrrrnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmNmmmmrrrrrrrrrrrrrrrrrr", d=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,e=/[stwN]/,f=/[LRr]/,g=/[Lb1n]/,h=/[1n]/;return function(b){if(!d.test(b))return!1;for(var c=b.length,n=[],m=0,q;m>t<'footer'p<'clear'>>", + //bProcessing : false, + bStateSave: true, + sPaginationType: "full_numbers", + bAutoWidth: false, + bSort: false, + oLanguage: { + "sSearch": "", + "oPaginate": { + "sFirst": "≪", + "sLast": "≫", + "sNext": ">", + "sPrevious": "<" + } + }, + fnDrawCallback: function() { + jQuery('.add-license-btn').each(function() { + var link = jQuery(this).attr('link'); + var extension = jQuery(this).attr('extension'); + + jQuery(this).bind('click', function(event) { + event.preventDefault(); + + jQuery('.license-error-list').hide(); + //show the dialog + jQuery('#install_license').dialog({ + resizable: false, + height: 'auto', + width: '30%', + modal: true, + buttons: [ + { + text: 'Purchase', + icons: {primary: "ui-icon-cart"}, + click: function() { + window.open(link, '_blank'); + } + }, + { + text: 'Install', + icons: {primary: "ui-icon-check"}, + click: function() { + var license = jQuery.trim( + jQuery('#license_key').val() + ); + + if (license) { + //add loader + jQuery('#install_license').append(jQuery('
          ', { + 'class' : 'loading-extension' + })); + + jQuery.ajax(aamLocal.ajaxurl, { + type: 'POST', + dataType: 'json', + data: { + action: 'aam', + sub_action: 'installLicense', + extension: extension, + license: license, + _ajax_nonce: aamLocal.nonce + }, + success: function(response) { + if (response.status === 'success') { + location.reload(); + } else { + showErrorMessage( + response.reasons, + '#install_license .license-error-list' + ); + jQuery('#license_key').effect('highlight', 2000); + } + }, + error: function() { + var reasons = new Array(); + reasons.push('Unexpected Application Error'); + showErrorMessage( + reasons, + '#install_license .license-error-list' + ); + jQuery('#license_key').effect('highlight', 2000); + }, + complete: function(){ + jQuery('.loading-extension', '#install_license').remove(); + } + }); + } else { + jQuery('#license_key').effect('highlight', 2000); + } + } + }, + { + text: 'Close', + icons: {primary: "ui-icon-close"}, + click: function() { + jQuery(this).dialog('close'); + } + } + ] + }); + }); + }); + jQuery('.view-license-btn').each(function() { + jQuery(this).bind('click', function(event) { + event.preventDefault(); + + var license = jQuery(this).attr('license'); + var extension = jQuery(this).attr('extension'); + var dialog = this; + + jQuery('#installed_license_key').html( + (license ? license : 'undefined') + ); + jQuery('.license-error-list').hide(); + + //show the dialog + jQuery('#update_license').dialog({ + resizable: false, + height: 'auto', + width: '25%', + modal: true, + buttons: [ + { + text: 'Remove', + icons: {primary: "ui-icon-trash"}, + click: function() { + jQuery.ajax(aamLocal.ajaxurl, { + type: 'POST', + dataType: 'json', + data: { + action: 'aam', + sub_action: 'removeLicense', + extension: extension, + license: license, + _ajax_nonce: aamLocal.nonce + }, + success: function(response) { + if (response.status === 'success') { + location.reload(); + } else { + showErrorMessage( + response.reasons, + '#update_license .license-error-list' + ); + jQuery(dialog).dialog('close'); + } + }, + complete: function() { + jQuery(dialog).dialog('close'); + } + }); + } + }, + { + text: 'Close', + icons: {primary: "ui-icon-close"}, + click: function() { + jQuery(this).dialog('close'); + } + } + ] + }); + }); + }); + } + }); + + initTooltip('#aam'); + +}); + +/** + * Initialize tooltip for selected area + * + * @param {String} selector + * + * @returns {void} + * + * @access public + */ +function initTooltip(selector) { + jQuery('[tooltip]', selector).hover(function() { + // Hover over code + var title = jQuery(this).attr('tooltip'); + jQuery(this).data('tipText', title).removeAttr('tooltip'); + jQuery('
          ', { + 'class': 'aam-tooltip' + }).text(title).appendTo('body').fadeIn('slow'); + }, function() { + //Hover out code + jQuery(this).attr('tooltip', jQuery(this).data('tipText')); + jQuery('.aam-tooltip').remove(); + }).mousemove(function(e) { + jQuery('.aam-tooltip').css({ + top: e.pageY + 15, //Get Y coordinates + left: e.pageX + 15 //Get X coordinates + }); + }); +} + +/** + * Display error list + * + * @param {Array} reasons + * + * @returns void + */ +function showErrorMessage(reasons, container){ + jQuery(container).empty(); + for(var i in reasons){ + jQuery(container).append(jQuery('
        • ').html(reasons[i])); + } + jQuery(container).show(); +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-access-manager/media/js/jquery.dt.js b/wp-content/plugins/advanced-access-manager/media/js/jquery.dt.js new file mode 100644 index 0000000..02694a4 --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/media/js/jquery.dt.js @@ -0,0 +1,155 @@ +/* + * File: jquery.dataTables.min.js + * Version: 1.9.4 + * Author: Allan Jardine (www.sprymedia.co.uk) + * Info: www.datatables.net + * + * Copyright 2008-2012 Allan Jardine, all rights reserved. + * + * This source file is free software, under either the GPL v2 license or a + * BSD style license, available at: + * http://datatables.net/license_gpl2 + * http://datatables.net/license_bsd + * + * 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(X,l,n){var L=function(h){var j=function(e){function o(a,b){var c=j.defaults.columns,d=a.aoColumns.length,c=h.extend({},j.models.oColumn,c,{sSortingClass:a.oClasses.sSortable,sSortingClassJUI:a.oClasses.sSortJUI,nTh:b?b:l.createElement("th"),sTitle:c.sTitle?c.sTitle:b?b.innerHTML:"",aDataSort:c.aDataSort?c.aDataSort:[d],mData:c.mData?c.oDefaults:d});a.aoColumns.push(c);if(a.aoPreSearchCols[d]===n||null===a.aoPreSearchCols[d])a.aoPreSearchCols[d]=h.extend({},j.models.oSearch);else if(c=a.aoPreSearchCols[d], +c.bRegex===n&&(c.bRegex=!0),c.bSmart===n&&(c.bSmart=!0),c.bCaseInsensitive===n)c.bCaseInsensitive=!0;m(a,d,null)}function m(a,b,c){var d=a.aoColumns[b];c!==n&&null!==c&&(c.mDataProp&&!c.mData&&(c.mData=c.mDataProp),c.sType!==n&&(d.sType=c.sType,d._bAutoType=!1),h.extend(d,c),p(d,c,"sWidth","sWidthOrig"),c.iDataSort!==n&&(d.aDataSort=[c.iDataSort]),p(d,c,"aDataSort"));var i=d.mRender?Q(d.mRender):null,f=Q(d.mData);d.fnGetData=function(a,b){var c=f(a,b);return d.mRender&&b&&""!==b?i(c,b,a):c};d.fnSetData= +L(d.mData);a.oFeatures.bSort||(d.bSortable=!1);!d.bSortable||-1==h.inArray("asc",d.asSorting)&&-1==h.inArray("desc",d.asSorting)?(d.sSortingClass=a.oClasses.sSortableNone,d.sSortingClassJUI=""):-1==h.inArray("asc",d.asSorting)&&-1==h.inArray("desc",d.asSorting)?(d.sSortingClass=a.oClasses.sSortable,d.sSortingClassJUI=a.oClasses.sSortJUI):-1!=h.inArray("asc",d.asSorting)&&-1==h.inArray("desc",d.asSorting)?(d.sSortingClass=a.oClasses.sSortableAsc,d.sSortingClassJUI=a.oClasses.sSortJUIAscAllowed):-1== +h.inArray("asc",d.asSorting)&&-1!=h.inArray("desc",d.asSorting)&&(d.sSortingClass=a.oClasses.sSortableDesc,d.sSortingClassJUI=a.oClasses.sSortJUIDescAllowed)}function k(a){if(!1===a.oFeatures.bAutoWidth)return!1;da(a);for(var b=0,c=a.aoColumns.length;bj[f])d(a.aoColumns.length+j[f],b[i]);else if("string"===typeof j[f]){e=0;for(w=a.aoColumns.length;eb&&a[d]--; -1!=c&&a.splice(c,1)}function S(a,b,c){var d=a.aoColumns[c];return d.fnRender({iDataRow:b,iDataColumn:c,oSettings:a,aData:a.aoData[b]._aData,mDataProp:d.mData},v(a,b,c,"display"))}function ea(a,b){var c=a.aoData[b],d;if(null===c.nTr){c.nTr=l.createElement("tr");c.nTr._DT_RowIndex=b;c._aData.DT_RowId&&(c.nTr.id=c._aData.DT_RowId);c._aData.DT_RowClass&& +(c.nTr.className=c._aData.DT_RowClass);for(var i=0,f=a.aoColumns.length;i=a.fnRecordsDisplay()?0:a.iInitDisplayStart,a.iInitDisplayStart=-1,y(a));if(a.bDeferLoading)a.bDeferLoading=!1,a.iDraw++;else if(a.oFeatures.bServerSide){if(!a.bDestroying&&!wa(a))return}else a.iDraw++;if(0!==a.aiDisplay.length){var g= +a._iDisplayStart;d=a._iDisplayEnd;a.oFeatures.bServerSide&&(g=0,d=a.aoData.length);for(;g
        • ")[0];a.nTable.parentNode.insertBefore(b,a.nTable);a.nTableWrapper=h('
          ')[0];a.nTableReinsertBefore=a.nTable.nextSibling;for(var c=a.nTableWrapper,d=a.sDom.split(""),i,f,g,e,w,o,k,m=0;m
          ")[0];w=d[m+ +1];if("'"==w||'"'==w){o="";for(k=2;d[m+k]!=w;)o+=d[m+k],k++;"H"==o?o=a.oClasses.sJUIHeader:"F"==o&&(o=a.oClasses.sJUIFooter);-1!=o.indexOf(".")?(w=o.split("."),e.id=w[0].substr(1,w[0].length-1),e.className=w[1]):"#"==o.charAt(0)?e.id=o.substr(1,o.length-1):e.className=o;m+=k}c.appendChild(e);c=e}else if(">"==g)c=c.parentNode;else if("l"==g&&a.oFeatures.bPaginate&&a.oFeatures.bLengthChange)i=ya(a),f=1;else if("f"==g&&a.oFeatures.bFilter)i=za(a),f=1;else if("r"==g&&a.oFeatures.bProcessing)i=Aa(a),f= +1;else if("t"==g)i=Ba(a),f=1;else if("i"==g&&a.oFeatures.bInfo)i=Ca(a),f=1;else if("p"==g&&a.oFeatures.bPaginate)i=Da(a),f=1;else if(0!==j.ext.aoFeatures.length){e=j.ext.aoFeatures;k=0;for(w=e.length;k'):""===c?'':c+' ',d=l.createElement("div");d.className=a.oClasses.sFilter;d.innerHTML="";a.aanFeatures.f||(d.id=a.sTableId+"_filter");c=h('input[type="text"]',d);d._DT_Input=c[0];c.val(b.sSearch.replace('"',"""));c.bind("keyup.DT",function(){for(var c=a.aanFeatures.f,d=this.value===""?"":this.value, +g=0,e=c.length;g=b.length)a.aiDisplay.splice(0,a.aiDisplay.length),a.aiDisplay=a.aiDisplayMaster.slice();else if(a.aiDisplay.length==a.aiDisplayMaster.length||i.sSearch.length>b.length||1==c||0!==b.indexOf(i.sSearch)){a.aiDisplay.splice(0, +a.aiDisplay.length);la(a,1);for(b=0;b").html(c).text()); +return c.replace(/[\n\r]/g," ")}function ma(a,b,c,d){if(c)return a=b?a.split(" "):oa(a).split(" "),a="^(?=.*?"+a.join(")(?=.*?")+").*$",RegExp(a,d?"i":"");a=b?a:oa(a);return RegExp(a,d?"i":"")}function Ja(a,b){return"function"===typeof j.ext.ofnSearch[b]?j.ext.ofnSearch[b](a):null===a?"":"html"==b?a.replace(/[\r\n]/g," ").replace(/<.*?>/g,""):"string"===typeof a?a.replace(/[\r\n]/g," "):a}function oa(a){return a.replace(RegExp("(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\|\\$|\\^|\\-)","g"), +"\\$1")}function Ca(a){var b=l.createElement("div");b.className=a.oClasses.sInfo;a.aanFeatures.i||(a.aoDrawCallback.push({fn:Ka,sName:"information"}),b.id=a.sTableId+"_info");a.nTable.setAttribute("aria-describedby",a.sTableId+"_info");return b}function Ka(a){if(a.oFeatures.bInfo&&0!==a.aanFeatures.i.length){var b=a.oLanguage,c=a._iDisplayStart+1,d=a.fnDisplayEnd(),i=a.fnRecordsTotal(),f=a.fnRecordsDisplay(),g;g=0===f?b.sInfoEmpty:b.sInfo;f!=i&&(g+=" "+b.sInfoFiltered);g+=b.sInfoPostFix;g=ja(a,g); +null!==b.fnInfoCallback&&(g=b.fnInfoCallback.call(a.oInstance,a,c,d,i,f,g));a=a.aanFeatures.i;b=0;for(c=a.length;b",c,d,i=a.aLengthMenu;if(2==i.length&&"object"===typeof i[0]&&"object"===typeof i[1]){c=0;for(d=i[0].length;c'+i[1][c]+""}else{c=0;for(d=i.length;c'+i[c]+""}b+="";i=l.createElement("div");a.aanFeatures.l|| +(i.id=a.sTableId+"_length");i.className=a.oClasses.sLength;i.innerHTML="";h('select option[value="'+a._iDisplayLength+'"]',i).attr("selected",!0);h("select",i).bind("change.DT",function(){var b=h(this).val(),i=a.aanFeatures.l;c=0;for(d=i.length;ca.aiDisplay.length||-1==a._iDisplayLength?a.aiDisplay.length:a._iDisplayStart+a._iDisplayLength}function Da(a){if(a.oScroll.bInfinite)return null;var b=l.createElement("div");b.className=a.oClasses.sPaging+a.sPaginationType;j.ext.oPagination[a.sPaginationType].fnInit(a, +b,function(a){y(a);x(a)});a.aanFeatures.p||a.aoDrawCallback.push({fn:function(a){j.ext.oPagination[a.sPaginationType].fnUpdate(a,function(a){y(a);x(a)})},sName:"pagination"});return b}function qa(a,b){var c=a._iDisplayStart;if("number"===typeof b)a._iDisplayStart=b*a._iDisplayLength,a._iDisplayStart>a.fnRecordsDisplay()&&(a._iDisplayStart=0);else if("first"==b)a._iDisplayStart=0;else if("previous"==b)a._iDisplayStart=0<=a._iDisplayLength?a._iDisplayStart-a._iDisplayLength:0,0>a._iDisplayStart&&(a._iDisplayStart= +0);else if("next"==b)0<=a._iDisplayLength?a._iDisplayStart+a._iDisplayLengthh(a.nTable).height()-a.oScroll.iLoadGap&&a.fnDisplayEnd()d.offsetHeight||"scroll"==h(d).css("overflow-y")))a.nTable.style.width=q(h(a.nTable).outerWidth()-a.oScroll.iBarWidth)}else""!==a.oScroll.sXInner?a.nTable.style.width= +q(a.oScroll.sXInner):i==h(d).width()&&h(d).height()i-a.oScroll.iBarWidth&&(a.nTable.style.width=q(i))):a.nTable.style.width=q(i);i=h(a.nTable).outerWidth();C(s,e);C(function(a){p.push(q(h(a).width()))},e);C(function(a,b){a.style.width=p[b]},g);h(e).height(0);null!==a.nTFoot&&(C(s,j),C(function(a){n.push(q(h(a).width()))},j),C(function(a,b){a.style.width=n[b]},o),h(j).height(0));C(function(a,b){a.innerHTML= +"";a.style.width=p[b]},e);null!==a.nTFoot&&C(function(a,b){a.innerHTML="";a.style.width=n[b]},j);if(h(a.nTable).outerWidth()d.offsetHeight||"scroll"==h(d).css("overflow-y")?i+a.oScroll.iBarWidth:i;if(r&&(d.scrollHeight>d.offsetHeight||"scroll"==h(d).css("overflow-y")))a.nTable.style.width=q(g-a.oScroll.iBarWidth);d.style.width=q(g);a.nScrollHead.style.width=q(g);null!==a.nTFoot&&(a.nScrollFoot.style.width=q(g));""===a.oScroll.sX?D(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."): +""!==a.oScroll.sXInner&&D(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%"),a.nScrollHead.style.width=q("100%"),null!==a.nTFoot&&(a.nScrollFoot.style.width=q("100%"));""===a.oScroll.sY&&r&&(d.style.height=q(a.nTable.offsetHeight+a.oScroll.iBarWidth));""!==a.oScroll.sY&&a.oScroll.bCollapse&&(d.style.height=q(a.oScroll.sY),r=""!==a.oScroll.sX&&a.nTable.offsetWidth> +d.offsetWidth?a.oScroll.iBarWidth:0,a.nTable.offsetHeightd.clientHeight||"scroll"==h(d).css("overflow-y");b.style.paddingRight=c?a.oScroll.iBarWidth+"px":"0px";null!==a.nTFoot&&(R.style.width=q(r),l.style.width=q(r),l.style.paddingRight=c?a.oScroll.iBarWidth+"px":"0px");h(d).scroll();if(a.bSorted||a.bFiltered)d.scrollTop=0}function C(a,b,c){for(var d= +0,i=0,f=b.length,g,e;itd",b));j=N(a,f);for(f=d=0;fc)return null;if(null===a.aoData[c].nTr){var d=l.createElement("td");d.innerHTML=v(a,c,b,"");return d}return J(a,c)[b]}function Pa(a,b){for(var c=-1,d=-1,i=0;i/g,"");e.length>c&&(c=e.length,d=i)}return d}function q(a){if(null===a)return"0px";if("number"==typeof a)return 0>a?"0px":a+"px";var b=a.charCodeAt(a.length-1); +return 48>b||57/g,""),i=q[c].nTh,i.removeAttribute("aria-sort"),i.removeAttribute("aria-label"),q[c].bSortable?0d&&d++;f=RegExp(f+"[123]");var o;b=0;for(c=a.length;b
          ')[0];l.body.appendChild(b);a.oBrowser.bScrollOversize= +100===h("#DT_BrowserTest",b)[0].offsetWidth?!0:!1;l.body.removeChild(b)}function Va(a){return function(){var b=[s(this[j.ext.iApiIndex])].concat(Array.prototype.slice.call(arguments));return j.ext.oApi[a].apply(this,b)}}var U=/\[.*?\]$/,Wa=X.JSON?JSON.stringify:function(a){var b=typeof a;if("object"!==b||null===a)return"string"===b&&(a='"'+a+'"'),a+"";var c,d,e=[],f=h.isArray(a);for(c in a)d=a[c],b=typeof d,"string"===b?d='"'+d+'"':"object"===b&&null!==d&&(d=Wa(d)),e.push((f?"":'"'+c+'":')+d);return(f? +"[":"{")+e+(f?"]":"}")};this.$=function(a,b){var c,d,e=[],f;d=s(this[j.ext.iApiIndex]);var g=d.aoData,o=d.aiDisplay,k=d.aiDisplayMaster;b||(b={});b=h.extend({},{filter:"none",order:"current",page:"all"},b);if("current"==b.page){c=d._iDisplayStart;for(d=d.fnDisplayEnd();c=d.fnRecordsDisplay()&&(d._iDisplayStart-=d._iDisplayLength,0>d._iDisplayStart&&(d._iDisplayStart=0));if(c===n||c)y(d),x(d);return g};this.fnDestroy=function(a){var b=s(this[j.ext.iApiIndex]),c=b.nTableWrapper.parentNode,d=b.nTBody,i,f,a=a===n?!1:a;b.bDestroying=!0;A(b,"aoDestroyCallback","destroy",[b]);if(!a){i=0;for(f=b.aoColumns.length;itr>td."+b.oClasses.sRowEmpty,b.nTable).parent().remove();b.nTable!=b.nTHead.parentNode&&(h(b.nTable).children("thead").remove(),b.nTable.appendChild(b.nTHead));b.nTFoot&&b.nTable!=b.nTFoot.parentNode&&(h(b.nTable).children("tfoot").remove(),b.nTable.appendChild(b.nTFoot));b.nTable.parentNode.removeChild(b.nTable);h(b.nTableWrapper).remove();b.aaSorting=[];b.aaSortingFixed=[];P(b);h(T(b)).removeClass(b.asStripeClasses.join(" "));h("th, td",b.nTHead).removeClass([b.oClasses.sSortable,b.oClasses.sSortableAsc, +b.oClasses.sSortableDesc,b.oClasses.sSortableNone].join(" "));b.bJUI&&(h("th span."+b.oClasses.sSortIcon+", td span."+b.oClasses.sSortIcon,b.nTHead).remove(),h("th, td",b.nTHead).each(function(){var a=h("div."+b.oClasses.sSortJUIWrapper,this),c=a.contents();h(this).append(c);a.remove()}));!a&&b.nTableReinsertBefore?c.insertBefore(b.nTable,b.nTableReinsertBefore):a||c.appendChild(b.nTable);i=0;for(f=b.aoData.length;i=t(d);if(!m)for(e=a;et<"F"ip>')):h.extend(g.oClasses,j.ext.oStdClasses);h(this).addClass(g.oClasses.sTable);if(""!==g.oScroll.sX||""!==g.oScroll.sY)g.oScroll.iBarWidth=Qa();g.iInitDisplayStart===n&&(g.iInitDisplayStart=e.iDisplayStart, +g._iDisplayStart=e.iDisplayStart);e.bStateSave&&(g.oFeatures.bStateSave=!0,Sa(g,e),z(g,"aoDrawCallback",ra,"state_save"));null!==e.iDeferLoading&&(g.bDeferLoading=!0,a=h.isArray(e.iDeferLoading),g._iRecordsDisplay=a?e.iDeferLoading[0]:e.iDeferLoading,g._iRecordsTotal=a?e.iDeferLoading[1]:e.iDeferLoading);null!==e.aaData&&(f=!0);""!==e.oLanguage.sUrl?(g.oLanguage.sUrl=e.oLanguage.sUrl,h.getJSON(g.oLanguage.sUrl,null,function(a){pa(a);h.extend(true,g.oLanguage,e.oLanguage,a);ba(g)}),i=!0):h.extend(!0, +g.oLanguage,e.oLanguage);null===e.asStripeClasses&&(g.asStripeClasses=[g.oClasses.sStripeOdd,g.oClasses.sStripeEven]);b=g.asStripeClasses.length;g.asDestroyStripes=[];if(b){c=!1;d=h(this).children("tbody").children("tr:lt("+b+")");for(a=0;a=g.aoColumns.length&&(g.aaSorting[a][0]=0);var k=g.aoColumns[g.aaSorting[a][0]];g.aaSorting[a][2]===n&&(g.aaSorting[a][2]=0);e.aaSorting===n&&g.saved_aaSorting===n&&(g.aaSorting[a][1]= +k.asSorting[0]);c=0;for(d=k.asSorting.length;c=parseInt(n,10)};j.fnIsDataTable=function(e){for(var h=j.settings,m=0;me)return e;for(var h=e+"",e=h.split(""),j="",h=h.length,k=0;k'+k.sPrevious+''+k.sNext+"":'';h(j).append(k);var l=h("a",j), +k=l[0],l=l[1];e.oApi._fnBindAction(k,{action:"previous"},n);e.oApi._fnBindAction(l,{action:"next"},n);e.aanFeatures.p||(j.id=e.sTableId+"_paginate",k.id=e.sTableId+"_previous",l.id=e.sTableId+"_next",k.setAttribute("aria-controls",e.sTableId),l.setAttribute("aria-controls",e.sTableId))},fnUpdate:function(e){if(e.aanFeatures.p)for(var h=e.oClasses,j=e.aanFeatures.p,k,l=0,n=j.length;l'+k.sFirst+''+k.sPrevious+''+k.sNext+''+k.sLast+"");var t=h("a",j),k=t[0],l=t[1],r=t[2],t=t[3];e.oApi._fnBindAction(k,{action:"first"},n);e.oApi._fnBindAction(l,{action:"previous"},n);e.oApi._fnBindAction(r,{action:"next"},n);e.oApi._fnBindAction(t,{action:"last"},n);e.aanFeatures.p||(j.id=e.sTableId+"_paginate",k.id=e.sTableId+"_first",l.id=e.sTableId+"_previous",r.id=e.sTableId+"_next",t.id=e.sTableId+"_last")}, +fnUpdate:function(e,o){if(e.aanFeatures.p){var m=j.ext.oPagination.iFullNumbersShowPages,k=Math.floor(m/2),l=Math.ceil(e.fnRecordsDisplay()/e._iDisplayLength),n=Math.ceil(e._iDisplayStart/e._iDisplayLength)+1,t="",r,B=e.oClasses,u,M=e.aanFeatures.p,L=function(h){e.oApi._fnBindAction(this,{page:h+r-1},function(h){e.oApi._fnPageChange(e,h.data.page);o(e);h.preventDefault()})};-1===e._iDisplayLength?n=k=r=1:l=l-k?(r=l-m+1,k=l):(r=n-Math.ceil(m/2)+1,k=r+m-1);for(m=r;m<=k;m++)t+= +n!==m?''+e.fnFormatNumber(m)+"":''+e.fnFormatNumber(m)+"";m=0;for(k=M.length;mh?1:0},"string-desc":function(e,h){return eh?-1:0},"html-pre":function(e){return e.replace(/<.*?>/g,"").toLowerCase()},"html-asc":function(e,h){return eh?1:0},"html-desc":function(e,h){return e< +h?1:e>h?-1:0},"date-pre":function(e){e=Date.parse(e);if(isNaN(e)||""===e)e=Date.parse("01/01/1970 00:00:00");return e},"date-asc":function(e,h){return e-h},"date-desc":function(e,h){return h-e},"numeric-pre":function(e){return"-"==e||""===e?0:1*e},"numeric-asc":function(e,h){return e-h},"numeric-desc":function(e,h){return h-e}});h.extend(j.ext.aTypes,[function(e){if("number"===typeof e)return"numeric";if("string"!==typeof e)return null;var h,j=!1;h=e.charAt(0);if(-1=="0123456789-".indexOf(h))return null; +for(var k=1;k")?"html":null}]);h.fn.DataTable=j;h.fn.dataTable=j;h.fn.dataTableSettings=j.settings;h.fn.dataTableExt=j.ext};"function"===typeof define&&define.amd?define(["jquery"],L):jQuery&&!jQuery.fn.dataTable&& +L(jQuery)})(window,document); diff --git a/wp-content/plugins/advanced-access-manager/media/js/jquery.treeview.js b/wp-content/plugins/advanced-access-manager/media/js/jquery.treeview.js new file mode 100644 index 0000000..7e43d4b --- /dev/null +++ b/wp-content/plugins/advanced-access-manager/media/js/jquery.treeview.js @@ -0,0 +1,123 @@ +/* + * Treeview 1.5pre - jQuery plugin to hide and show branches of a tree + * + * http://bassistance.de/jquery-plugins/jquery-plugin-treeview/ + * http://docs.jquery.com/Plugins/Treeview + * + * Copyright (c) 2007 Jörn Zaefferer + * + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + * + * Revision: $Id: jquery.treeview.js 5759 2008-07-01 07:50:28Z joern.zaefferer $ + * + */ + +(function(b){b.extend(b.fn,{swapClass:function(c,a){var b=this.filter("."+c);this.filter("."+a).removeClass(a).addClass(c);b.removeClass(c).addClass(a);return this},replaceClass:function(a,b){return this.filter("."+a).removeClass(a).addClass(b).end()},hoverClass:function(a){a=a||"hover";return this.hover(function(){b(this).addClass(a)},function(){b(this).removeClass(a)})},heightToggle:function(a,b){a?this.animate({height:"toggle"},a,b):this.each(function(){jQuery(this)[jQuery(this).is(":hidden")? "show":"hide"]();b&&b.apply(this,arguments)})},heightHide:function(a,b){a?this.animate({height:"hide"},a,b):(this.hide(),b&&this.each(b))},prepareBranches:function(b){b.prerendered||(this.filter(":last-child:not(ul)").addClass(a.last),this.filter((b.collapsed?"":"."+a.closed)+":not(."+a.open+")").find(">ul").hide());return this.filter(":has(>ul)")},applyClasses:function(c,g){this.filter(":has(>ul):not(:has(>a))").find(">span").unbind("click.treeview").bind("click.treeview",function(a){this==a.target&& g.apply(b(this).next())}).add(b("a",this)).hoverClass();if(!c.prerendered){this.filter(":has(>ul:hidden)").addClass(a.expandable).replaceClass(a.last,a.lastExpandable);this.not(":has(>ul:hidden)").addClass(a.collapsable).replaceClass(a.last,a.lastCollapsable);var d=this.find("div."+a.hitarea);d.length||(d=this.prepend('
          ').find("div."+a.hitarea));d.removeClass().addClass(a.hitarea).each(function(){var a="";b.each(b(this).parent().attr("class").split(" "),function(){a+=this+ "-hitarea "});b(this).addClass(a)})}this.find("div."+a.hitarea).click(g)},treeview:function(c){function g(c,e){function h(e){return function(){d.apply(b("div."+a.hitarea,c).filter(function(){return e?b(this).parent("."+e).length:!0}));return!1}}b("a:eq(0)",e).click(h(a.collapsable));b("a:eq(1)",e).click(h(a.expandable));b("a:eq(2)",e).click(h())}function d(){b(this).parent().find(">.hitarea").swapClass(a.collapsableHitarea,a.expandableHitarea).swapClass(a.lastCollapsableHitarea,a.lastExpandableHitarea).end().swapClass(a.collapsable, a.expandable).swapClass(a.lastCollapsable,a.lastExpandable).find(">ul").heightToggle(c.animated,c.toggle);c.unique&&b(this).parent().siblings().find(">.hitarea").replaceClass(a.collapsableHitarea,a.expandableHitarea).replaceClass(a.lastCollapsableHitarea,a.lastExpandableHitarea).end().replaceClass(a.collapsable,a.expandable).replaceClass(a.lastCollapsable,a.lastExpandable).find(">ul").heightHide(c.animated,c.toggle)}function k(){var a=[];i.each(function(c,d){a[c]=b(d).is(":has(>ul:visible)")?1:0}); b.cookie(c.cookieId,a.join(""),c.cookieOptions)}function l(){var a=b.cookie(c.cookieId);if(a){var d=a.split("");i.each(function(a,c){b(c).find(">ul")[parseInt(d[a])?"show":"hide"]()})}}c=b.extend({cookieId:"treeview"},c);if(c.toggle){var m=c.toggle;c.toggle=function(){return m.apply(b(this).parent()[0],arguments)}}this.data("toggler",d);this.addClass("treeview");var i=this.find("li").prepareBranches(c);switch(c.persist){case "cookie":var j=c.toggle;c.toggle=function(){k();j&&j.apply(this,arguments)}; l();break;case "location":var f=this.find("a").filter(function(){return this.href.toLowerCase()==location.href.toLowerCase()});f.length&&(f=f.addClass("selected").parents("ul, li").add(f.next()).show(),c.prerendered&&f.filter("li").swapClass(a.collapsable,a.expandable).swapClass(a.lastCollapsable,a.lastExpandable).find(">.hitarea").swapClass(a.collapsableHitarea,a.expandableHitarea).swapClass(a.lastCollapsableHitarea,a.lastExpandableHitarea))}i.applyClasses(c,d);c.control&&(g(this,c.control),b(c.control).show()); return this}});b.treeview={};var a=b.treeview.classes={open:"open",closed:"closed",expandable:"expandable",expandableHitarea:"expandable-hitarea",lastExpandableHitarea:"lastExpandable-hitarea",collapsable:"collapsable",collapsableHitarea:"collapsable-hitarea",lastCollapsableHitarea:"lastCollapsable-hitarea",lastCollapsable:"lastCollapsable",lastExpandable:"lastExpandable",last:"last",hitarea:"hitarea"}})(jQuery); + +(function($) { + var CLASSES = $.treeview.classes; + var proxied = $.fn.treeview; + $.fn.treeview = function(settings) { + settings = $.extend({}, settings); + if (settings.add) { + return this.trigger("add", [settings.add]); + } + if (settings.remove) { + return this.trigger("remove", [settings.remove]); + } + return proxied.apply(this, arguments).bind("add", function(event, branches) { + $(branches).prev() + .removeClass(CLASSES.last) + .removeClass(CLASSES.lastCollapsable) + .removeClass(CLASSES.lastExpandable) + .find(">.hitarea") + .removeClass(CLASSES.lastCollapsableHitarea) + .removeClass(CLASSES.lastExpandableHitarea); + $(branches).find("li").andSelf().prepareBranches(settings).applyClasses(settings, $(this).data("toggler")); + }).bind("remove", function(event, branches) { + var prev = $(branches).prev(); + var parent = $(branches).parent(); + $(branches).remove(); + prev.filter(":last-child").addClass(CLASSES.last) + .filter("." + CLASSES.expandable).replaceClass(CLASSES.last, CLASSES.lastExpandable).end() + .find(">.hitarea").replaceClass(CLASSES.expandableHitarea, CLASSES.lastExpandableHitarea).end() + .filter("." + CLASSES.collapsable).replaceClass(CLASSES.last, CLASSES.lastCollapsable).end() + .find(">.hitarea").replaceClass(CLASSES.collapsableHitarea, CLASSES.lastCollapsableHitarea); + if (parent.is(":not(:has(>))") && parent[0] != this) { + parent.parent().removeClass(CLASSES.collapsable).removeClass(CLASSES.expandable) + parent.siblings(".hitarea").andSelf().remove(); + } + }); + }; + +})(jQuery); + +(function($) { + + function load(settings, root, child, container) { + function createNode(parent) { + var current = $("
        • ").attr("id", this.id || "").html("" + this.text + "").appendTo(parent); + if (this.classes) { + current.children("span").addClass(this.classes); + } + if (this.expanded) { + current.addClass("open"); + } + if (this.hasChildren || this.children && this.children.length) { + var branch = $("
        • +
          +
          +
          +
          +
          +

          + +

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

          + +

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

          + +

          +
          +
          + + + + + + + +
          +
          + + + + +
          +
          +
          +
          +
          +
          + isGeoLookupOn()) { ?> +
          +
          +
          +
          +
          +

          + +

          +
          + + + + + + + + + +
          CountryAction
          +
          +
          +
          +
          +
          + +
          +